rev*_*urg 2 ruby-on-rails ransack
我正在使用Ransack在名为的模型上创建搜索表单Car.我有几个布尔属性Car,我在每个搜索表单中都包含了复选框,例如:
<%= f.check_box :car_spec_anti_lock_brakes_true %>
<%= f.label :car_spec_anti_lock_brakes_true, "ABS" %>
Run Code Online (Sandbox Code Playgroud)
当此复选框被选中,搜索结果包括所有记录car_spec_anti_lock_brakes的true.如果未选中它,结果只返回记录所在的car_spec_anti_lock_brakes位置false.如何实现搜索表单,以便在未选中复选框时car_spec_anti_lock_brakes返回所有记录为true或false的记录.因此,当选中该复选框时,将返回具有该属性的所有记录,但在取消选中时,将返回所有记录,而不管该属性是true还是false.
我通过编辑视图文件解决了.
您的代码生成隐藏的表单,提供错误的参数.
<%= f.check_box :car_spec_anti_lock_brakes_true %>
#generated html code
<input type="hidden" value="0" name="q[car_spec_anti_lock_brakes_true]"></input>
<input id="q_car_spec_anti_lock_brakes_true" type="checkbox" value="1" name="q[car_spec_anti_lock_brakes_true]"></input>
Run Code Online (Sandbox Code Playgroud)
所以,我删除了隐藏的表单.
<%= f.check_box :car_spec_anti_lock_brakes_true, include_hidden: false %>
#generated html code
<input id="q_car_spec_anti_lock_brakes_true" name="q[car_spec_anti_lock_brakes_true]" value="1" type="checkbox"></input>
Run Code Online (Sandbox Code Playgroud)
如果未选中该复选框,car_spec_anti_lock_brakes则返回所有记录为true或false的记录.
| 归档时间: |
|
| 查看次数: |
1970 次 |
| 最近记录: |