rails ransack复选框错误

时间:2013-08-22 16:04:38

标签: ruby-on-rails ransack

我有这个观点

- f.checks :membership_cancelled_true , [["canceled membership", true] ], :class => 'checkboxy' do |check|
          = check.box
          = check.label

我使用MetaSearch gem并且运行良好但是现在我将rails升级到4.0并且我必须使用Ransack gem(这是MetaSearch的新版本)并且此复选框不起作用。

这是错误:

undefined method `checks' for #<Ransack::Helpers::FormBuilder:0xb42f015c>

1 个答案:

答案 0 :(得分:3)

Ransack::Helpers::FormBuilder继承自::ActionView::Helpers::FormBuilder。它不提供像checks这样的MetaSearch::Helpers::FormBuilder方法。 MetaSearch的{​​{1}}方法构建了一组checkscheck_box_tag值。

在Ransack中,对于像您在问题中所包含的单一复选框条件,我们可以执行以下操作:

label_tag

对于多重复选框条件,我们希望包含属性与任何一组已检查值匹配的所有记录,我们可以这样做:

<%= f.check_box :membership_cancelled_true %>
<%= f.label :membership_cancelled_true %>