If a Problem with a polymorphic association and STI. class Message < ActiveRecord::Base belongs_to :source, :polymorphic => true end class Letter < Message end class Post < ActiveRecord::Base has_many :messages, :as => :source end Post.first.messages works fine Post.first.letters Throws "NoMethodError: undefined method `letters'' for #<Post:0xb6671ef0>" Thanks for your help. lg xinu -- 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Hello If I''m not completely wrong what you want is just STI: class Message < ActiveRecord::Base belongs_to :post end class Letter < Message end class Post < ActiveRecord::Base has_many :messages has_many :letters end For each inherited model of Message that you access by Post.inherited_modelname(s) (like in Post.first.letters) you need a has_many declaration in the Post class. Regards, T. -- 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
> For each inherited model of Message that you access by > Post.inherited_modelname(s) (like in Post.first.letters) you need a > has_many declaration in the Post class.Thanks. I thought has_many creates automatically the relation to the subclasses. -- 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On Jan 16, 11:21 am, "Michael M." <li...-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote:> > For each inherited model of Message that you access by > > Post.inherited_modelname(s) (like in Post.first.letters) you need a > > has_many declaration in the Post class. > > Thanks. I thought has_many creates automatically the relation to the > subclasses.Nope. But note that if you have a post that''s associated to both Letters and Messages, you''ll still get both out of the @post.messages association. --Matt Jones -- 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.