gpt4 book ai didi

ruby-on-rails - 在 Rails 中构建多重过滤器的最佳方法

转载 作者:数据小太阳 更新时间:2023-10-29 07:17:15 25 4
gpt4 key购买 nike

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

我的模型是 en Event witch 有一个Continent、一个Country 和一个Month

所以我希望能够找到具有多个过滤器的事件。例如,“找到欧洲二月的所有事件”

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

感谢您的回答,欢迎举例!

(我用的是rails 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 方法(如果您愿意,也可以使用其他名称)来查看已设置了哪些搜索属性,并构建一个漂亮的字符串来描述它。

关于ruby-on-rails - 在 Rails 中构建多重过滤器的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7580937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com