3
導軌5,使用filterrific來過濾與關聯屬性的多態關聯的模型。導軌關聯的5獲取關聯
Flag
belongs_to :flaggable, polymorphic: true
belongs_to :reporter, class_name: "User"
Post
belongs_to :user
has_many :flags, as: :flaggable
Comment
belongs_to :user
has_many :flags, as: :flaggable
對於filteriffic的工作,它需要在模型中定義的範圍,我試圖讓屬於某一用戶的任何標記的信息或評論。 flag.flaggable.user.id
工作正常,但我似乎無法得到正確的範圍。
scope :with_owner_name, lambda { |post_owner|
includes(flaggable: :user).where(:post => {:user => [*post_owner]})
}
或
scope :with_owner_name, lambda { |post_owner|
includes(flaggable: :user).where(:flaggable => {:user => [*post_owner]})
}
回報
不能急於加載多態性關聯:flaggable
,並試圖包括每個flaggable型號分別做了同樣的。有沒有辦法做到這一點?我在filterrific關於多態範圍的文檔中找不到任何東西。我是否應該在Flag和Post/Comment用戶之間建立關聯?