一对模型之间的几个关联

时间:2015-07-06 12:30:48

标签: ruby-on-rails

我学会了基本的联想。如果有两种型号" Book"和#34; Person",我可以将Person与他所写的书联系起来,并使用类似" John.books"的语法。但是,如果我想以不同的方式关联这些模型,例如,将Person与他最喜欢的书籍相关联,我该怎么做? " John.books"已被用于其他含义。

我想做一些类似" John.writings"," John.favorite_books"。

提前致谢。

1 个答案:

答案 0 :(得分:0)

在你的班级上:

# person.rb
 has_many :writings, class_name: 'Book'
 has_many :favorite_books, class_name: 'Book'

 # if you want to put some condition on your association,
 # has_many :writings, -> { where( some_key: 'some_value') }, class_name: 'Book'  
 # has_many :favorite_books, -> { where( favorite: true ) }, class_name: 'Book'