【问题标题】:searchlogic with checkboxes带复选框的搜索逻辑
【发布时间】:2012-12-21 14:25:15
【问题描述】:

我正在使用 searchlogic 对我的结果集进行搜索。

以下是我的搜索表单,其中包含复选框。

<% form_for @search do |f| %>
  <div class="searchbox" style="text-align: left; width: 100%">

    <span> Status: </span>

    Incomplete - <%=   f.check_box :sub_status_fk_equals_any, {:name => "search[sub_status_fk_equals_any][]"}, "51" %> 
    Complete - <%=   f.check_box :sub_status_fk_equals_any, {:name => "search[sub_status_fk_equals_any][]"}, "52" %> 
    Under Review - <%=   f.check_box :sub_status_fk_equals_any, {:name => "search[sub_status_fk_equals_any][]"}, "53" %> 
    Approved - <%=   f.check_box :sub_status_fk_equals_any, {:name => "search[sub_status_fk_equals_any][]"}, "54" %> 

    <%= f.submit "Submit"%>
  </div>
<% end %>

只要复选框被选中,上面的代码就可以正常工作,但是如果所有复选框都是空的,而不是返回所有行,则不会返回任何内容。

在我的地址栏中,显示如下参数:

http://localhost/sub_test/?
search[order]=descend_by_sub_entry_date&
search[sub_status_fk_equals_any][]=0&
search[sub_status_fk_equals_any][]=0&
search[sub_status_fk_equals_any][]=0&
search[sub_status_fk_equals_any][]=0&
commit.x=15&commit.y=18&commit=Search

如果没有选中任何复选框,则传递 0。

如果没有选择,如何返回所有行?

【问题讨论】:

    标签: ruby-on-rails searchlogic


    【解决方案1】:

    好的,找到了解决方案。您需要为 unchecked_value 传递“nil”

    Incomplete - <%=   f.check_box :sub_status_fk_equals_any, {:name => 
          "search[sub_status_fk_equals_any][]"}, "51", nil %> 
    
            Complete - <%=   f.check_box :sub_status_fk_equals_any, {:name => "search[sub_status_fk_equals_any][]"}, "52", nil %> 
    
            Under Review - <%=   f.check_box :sub_status_fk_equals_any, {:name => "search[sub_status_fk_equals_any][]"}, "53", nil %> 
    
            Approved - <%=   f.check_box :sub_status_fk_equals_any, {:name => "search[sub_status_fk_equals_any][]"}, "54", nil %> 
    

    希望这对其他人有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-29
      相关资源
      最近更新 更多