我有一个模型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吗?
答案 0 :(得分:2)
由于关系名称fav_groups
与FavoritGroup
和Group
之间的关系名称不同,因此Rails不会如何获取这些记录。
幸运的是,has_many
接受source
选项:
has_many :fav_groups, source: :group, through: :favorit_groups, class_name: "Group"
请在此处查看完整说明:this page
答案 1 :(得分:0)
看起来user
和group
class User
has_many :favorit_groups, dependent: :destroy
has_many :fav_groups, through: :favorit_groups, source: :group
end
尝试
current_user.groups
将自动触发连接查询并获取那些被使用标记为收藏的组,即favorit_groups
表中存在条目的那些组