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