选择喜欢的组

时间:2017-10-31 13:44:52

标签: sql ruby-on-rails ruby model

我有一个模型favorit_group(用户:references,group:references)。

并希望找到我的用户的所有收藏夹组:

current_user.fav_groups

我想我必须在我的模型用户中写这样的东西,但是它不起作用

has_many :favorit_groups, dependent: :destroy
has_many :fav_groups, through: :favorit_groups, class_name: "Group"

是否有人正在与这种协会合作?或者我应该在我的用户模型中加入并合并模型favorit_groups吗?

2 个答案:

答案 0 :(得分:2)

由于关系名称fav_groupsFavoritGroupGroup之间的关系名称不同,因此Rails不会如何获取这些记录。

幸运的是,has_many接受source选项:

has_many :fav_groups, source: :group, through: :favorit_groups, class_name: "Group"

请在此处查看完整说明:this page

答案 1 :(得分:0)

看起来usergroup

之间存在多对多关系
class User

  has_many :favorit_groups, dependent: :destroy
  has_many :fav_groups, through: :favorit_groups, source: :group

end

尝试 current_user.groups将自动触发连接查询并获取那些被使用标记为收藏的组,即favorit_groups表中存在条目的那些组