Jac*_*ack 2 ruby-on-rails-4 filterrific
我正在使用最新的 ruby + Rails 和 filterrific gem。它工作得很好 - 但如何在每个范围内使用多个参数呢?对于单列过滤来说很简单,但是对于下面的场景,该如何处理呢?
按邮政编码 Y 的 X 英里过滤
范围目前仅了解正在修改的值(英里或邮政编码 - 两个不同的范围),但两者都不了解对方。此过滤场景需要了解英里和邮政编码。我彻底搜索了文档并没有看到任何办法。以前有人这样做过吗?还是我遗漏了文档中隐藏的内容?
您可以使用 Rails 的fields_for表单助手将具有多个键和值的哈希提交到单个启用过滤器的范围:
<%= f.fields_for :with_distance do |with_distance_fields| %>
<%= with_distance_fields.text_field :max_distance %>
<%= with_distance_fields.text_field :city %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
然后您可以访问范围内的各种值,如下所示:
scope :with_distance, lambda { |distance_attrs|
# `distance_attrs` is a hash with two keys:
# {
# :max_distance => '10',
# :city => 'Vancouver',
# }
where(...)
}
Run Code Online (Sandbox Code Playgroud)
这是使用 Filterrific 1.4.2 和 Rails 4.1 进行测试的
| 归档时间: |
|
| 查看次数: |
1427 次 |
| 最近记录: |