我有这样的看法
- f.checks :membership_cancelled_true , [["canceled membership", true] ], :class => 'checkboxy' do |check|
= check.box
= check.label我将Ransack gem与Ransack gem一起使用,它工作得很好,但是现在我将MetaSearch升级到了4.0,我不得不使用Ransack gem(这是MetaSearch的新版本),这个复选框不起作用。
这是错误:
undefined method `checks' for #<Ransack::Helpers::FormBuilder:0xb42f015c>发布于 2013-12-07 00:31:26
Ransack::Helpers::FormBuilder继承自::ActionView::Helpers::FormBuilder。它不像MetaSearch::Helpers::FormBuilder那样提供checks方法。元搜索的checks方法构建了一组check_box_tag和label_tag值。
在Ransack中,对于您在问题中包含的单个复选框条件,我们可以这样做:
<%= f.check_box :membership_cancelled_true %>
<%= f.label :membership_cancelled_true %>对于多个复选框条件,我们希望包括属性与一组检查值中的任何一个匹配的所有记录,我们可以这样做:
<% predicate = "my_attribute_in" %>
<% { "Value One" => "1", "Value Two" => "2", "Value Three" => "3"}.each do |label, value| %>
<%= check_box_tag "q[#{predicate}][]", value, params.try(:[],:q).try(:[],predicate).try(:include?, value), id: "q_#{predicate}_#{value}" %>
<%= label_tag "q_#{predicate}_#{value}", label %><br />
<% end %>https://stackoverflow.com/questions/18385611
复制相似问题