在我的控制器中,我有一個帶where
方法的即時變量,它是搜索控制器中過濾器的一部分。即時變量,其中方法爲真
@items = @items.where([ 'borrowable = ?', true]) if params[:top_filter] == 'borrow'
borrowable = ?, true
位是完全錯誤的。我想要的是通過使用名爲borrowable?
的Item's model
中的方法過濾@items
即可借用的。
我該怎麼做?
Item model
中的方法如下。
def borrowable?(current_user, user, item, controller)
false
if user.invited?(current_user, user)
item.pieces.each do |piece|
if piece.available?(current_user, piece)
true
end
end
if controller == "pages"
true
end
end
end
非常感謝您使用它! – Dol
顯然'keep_if'等同於'select!',所以我認爲不需要重新分配! –
@Anthony謝謝! – Dol