gpt4 book ai didi

ruby-on-rails - Rails 3 使用范围进行多参数过滤

转载 作者:行者123 更新时间:2023-12-03 00:31:32 25 4
gpt4 key购买 nike

尝试使用 url 参数在 Rails 3 中进行基本过滤。我想要一个可以过滤的参数白名单,并返回所有匹配的项目。我已经设置了一些范围(还有更多):

# in the model:
scope :budget_min, lambda {|min| where("budget > ?", min)}
scope :budget_max, lambda {|max| where("budget < ?", max)}

...但是根据当前的 params[] 使用部分、不使用或全部这些作用域的最佳方法是什么?我已经做到了这一点,但它并没有扩展到多种选择。寻找一种“链(如果存在)”类型的操作。

@jobs = Job.all
@jobs = Job.budget_min(params[:budget_min]) if params[:budget_min]

最佳答案

我认为你很接近。像这样的事情不会扩展到多个选项吗?

query = Job.scoped
query = query.budget_min(params[:budget_min]) if params[:budget_min]
query = query.budget_max(params[:budget_max]) if params[:budget_max]
@jobs = query.all

关于ruby-on-rails - Rails 3 使用范围进行多参数过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8314282/

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