在以下代码中,创建了一个帖子并属于Person:
class Person < ActiveRecord::Base
has_many :readings
has_many :posts, :through => :readings
end
person = Person.create(:name => 'john')
post = Post.create(:name => 'a1')
person.posts << post
但是我想知道这篇文章在保存时属于哪个阅读。
我不太明白。
由于
答案 0 :(得分:1)
post.reading将为零
现在,我认为这不是你想要的,所以你可能想要保护自己免受这些生命的侵害:
class Reading < ActiveRecord::Base
belongs_to :person
has_many :posts
validates_presence_of :person
end
但是,这对我来说似乎有点不对...我认为你可以自己拥有一个人,并且可以自己拥有一个帖子,但阅读是人与帖的交集。在那种情况下:
class Person
has_many :readings
end
class Post
has_many :readings
end
class Reading
belongs_to :person
belongs_to :post
validates_presence_of :person, :post
end