我想消除我寫的rails範圍內的實例方法,所以我可以有更好的可鏈接範圍。Rails 4範圍通過相關對象的狀態?
我有一個模型Offering
has_many :assets
和Assets
有一列status
。我創建了一個Offering
範圍,看起來像這樣:
scope :available, -> { where(approved_for_sale: true).reject{|offering| !offering.assets_ready} }
其中assets_ready
是Offering
方法:
def assets_ready
assets.inject(1) {|memo, asset| memo && asset.ready_status_symbol == :ready}
end
因爲拒絕返回一個數組,我想找到一種方法,編寫不需要實例方法的作用域。
不錯的解決方案@igmcdowell。我看到伯爵的奇怪迴應,你能提供一個鏈接問題的例子嗎? – markets