我有以下型号
class Profile < ActiveRecord::Base
has_many :facebook_groups, through: :group_memberships
end
class FacebookGroup < ActiveRecord::Base
has_many :group_memberships
has_many :profiles, through: :group_memberships
end
class GroupMembership < ActiveRecord::Base
belongs_to :facebook_group
belongs_to :profile
end
我在GroupMembership模型上有一个名为:favorite的属性 我正在构建一个端点来检索配置文件的组。就像是: {groups:[name:'groupA',created_at:somedate,favorite:true]} 我怎么能得到这个? 谢谢你的帮助
答案 0 :(得分:0)
如果我理解正确,您希望在特定的个人资料中找到所有受欢迎的group_membership。在rails中,通常可以通过在GroupMembership模型上定义范围来完成。
scope :favorites, -> { where(favorite: true) }
然后你可以通过Profile模型检索它们。这将为您提供相关的group_memberships,其中favorite属性为true:
@profile.group_memberships.favorites
此外,您似乎需要在个人资料模型中定义has_many :group_memberships
以完成关联。