是否有可能以两种不同的方式关联模型?

时间:2013-08-19 01:31:01

标签: ruby-on-rails activerecord has-many-through has-many

我有一个用户模型,其中有许多委员会,委员会也属于用户。

由于用户是管理员和普通网络用户的混合体,因此我开发了一个新概念,用户可以在其中收藏委员会。

是否可以以第二种方式关联用户和委员会模型?

用户:

has_many :favorites
has_many :committees, through: :favorites

显然这会与上面的User.first.committees发生冲突,但有没有办法可以使用另一个名词,但仍然保持基本的逻辑?

如果可能,这将是非常棒的。

1 个答案:

答案 0 :(得分:0)

是的,您可以在同一模型中拥有两个关联。这样的事情。

has_many :committees
has_many :favorites
has_many :favorite_committees, through: :favorites

因此,您将拥有三个模型User,Committee和Favorite。

你也可以参考这个。

http://guides.rubyonrails.org/association_basics.html