5
我想爲我的一個模型構建帶有軌道的動態過濾器,但我不知道最佳方式。在軌道中構建多重過濾器的最佳方法
我的模型是連接事件女巫有大陸,一個國家和月。
所以我想能夠找到一個事件與幾個過濾器。例如,「找到2月份歐洲的所有事件」
要做到這一點的最佳方法是什麼?我必須在我的事件模型中創建一個函數findByfilter?
謝謝你的回答,例如歡迎!
(我用的導軌3)
我想爲我的一個模型構建帶有軌道的動態過濾器,但我不知道最佳方式。在軌道中構建多重過濾器的最佳方法
我的模型是連接事件女巫有大陸,一個國家和月。
所以我想能夠找到一個事件與幾個過濾器。例如,「找到2月份歐洲的所有事件」
要做到這一點的最佳方法是什麼?我必須在我的事件模型中創建一個函數findByfilter?
謝謝你的回答,例如歡迎!
(我用的導軌3)
我猜你正在尋找的是一個有點出乎只是用scope
創建過濾器:
即
class Event < ActiveRecord::Base
scope :by_continent, lambda {|continent| where(:continent => continent)}
scope :by_country, lambda {|country| where(:country => country)}
...
end
,然後做Event.by_continent('NA').by_country('Canada')
如果您希望建立一個更正式的搜索模型,並使用機制來建立to_s
並描述你的搜索,我可能會從Railscast 111開始。他建立了一個高級搜索模型,它基本上可以讓你設置字段,然後根據設置的內容進行過濾。
由此,您可以實現自己的to_s
方法(或其他名稱,如果您願意的話),它將查看已設置的搜索屬性,並構建一個很好的字符串來描述它。
是的,你說得對,我用那個 – Sebastien