I have installed the latest version of rails and jruby. I have copied
all my files from rails 2.3.5 version and am trying to bring all to work
in this version
Project.rb
class Project < ActiveRecord::Base
has_and_belongs_to_many :people
has_many :documents, :conditions => [“project_id =?”, self.id ]
…
…
end
application_helper.rb
def find_projects
user = Person.find(session[:userid])
projects = Project.find(:all)
…
…
…
end
I am getting an error
undefined method `id’ for #Class:0x182237ac (self.id is the problem
guess)
class Project < ActiveRecord::Base
has_and_belongs_to_many :people
has_many :documents, :conditions => [“project_id =?”, self.id ]
…
…
end
application_helper.rb
def find_projects
user = Person.find(session[:userid])
projects = Project.find(:all)
…
…
…
end
I am getting an error
undefined method `id’ for #Class:0x182237ac (self.id is the problem
guess)
Not really answering your question here, but i would restructure some of
this code as follows, to better go with rails 3
class Project < ActiveRecord::Base
has_many :people, :through => ‘people_project_join_table’
has_many :documents #:foreign_key => ‘project_id’ is default for this
relationship. Don’t need.
…
…
def find_projects
user = Person.find(session[:userid])
projects = Project.all
…
…
…
end
Beyond that, whenever you get an error like ‘undefined method for
class’, first make sure you’re in fact working with the class you think
you’re working with by doing myobj.class
a common slip-up for me is trying to use object methods on an array of
said objects. Most scopes and associations will return arrays.