2010-07-31 154 views
0

在下面的代碼創建了一個職位,屬於人:Ruby on Rails的遷移問題

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 

但我不知道哪閱讀這篇文章屬於當它保存到。

我不太明白。

感謝

回答

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