deal bitte wrote in post #1070764:
>
> 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)

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.

-- 
Posted via http://www.ruby-forum.com/.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to