Ruby on rails 在rails中构建多过滤器的最佳方法

Ruby on rails 在rails中构建多过滤器的最佳方法,ruby-on-rails,ruby,filter,Ruby On Rails,Ruby,Filter,我想为我的一个模型构建带有rails的动态过滤器,但我不知道最好的方法 我的型号是en Event witch,它有一个大陆、一个国家和一个月 因此,我希望能够找到具有多个筛选器的事件。例如,“发现欧洲2月份的所有事件” 最好的方法是什么。我必须在我的事件模型中创建一个函数findByfilter 谢谢你的回答,欢迎举例 (我使用rails 3)我猜您想要的不仅仅是使用scope创建过滤器: i、 e class事件大陆)} 范围:按国家,lambda{country | where(:coun

我想为我的一个模型构建带有rails的动态过滤器,但我不知道最好的方法

我的型号是en Event witch,它有一个大陆、一个国家和一个

因此,我希望能够找到具有多个筛选器的事件。例如,“发现欧洲2月份的所有事件”

最好的方法是什么。我必须在我的事件模型中创建一个函数findByfilter

谢谢你的回答,欢迎举例


(我使用rails 3)

我猜您想要的不仅仅是使用
scope
创建过滤器:

i、 e

class事件大陆)}
范围:按国家,lambda{country | where(:country=>country)}
...
结束
然后进行
活动。按大陆('NA')。按国家('Canada')

如果你想建立一个更正式的搜索模型,并用一种机制来描述你的搜索,我可能会从以下内容开始。他建立了一个高级搜索模型,基本上可以让你设置字段,然后根据设置的内容进行过滤

由此,您可以实现自己的
to_s
方法(如果您愿意,也可以使用另一个名称),该方法可以查看已设置的搜索属性,并构建一个漂亮的字符串来描述它

class Event < ActiveRecord::Base
  scope :by_continent, lambda {|continent| where(:continent => continent)}
  scope :by_country, lambda {|country| where(:country => country)}
  ...
end