首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rails ransack复选框错误

rails ransack复选框错误
EN

Stack Overflow用户
提问于 2013-08-23 00:04:38
回答 1查看 1K关注 0票数 0

我有这样的看法

代码语言:javascript
复制
- 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的新版本),这个复选框不起作用。

这是错误:

代码语言:javascript
复制
undefined method `checks' for #<Ransack::Helpers::FormBuilder:0xb42f015c>
EN

回答 1

Stack Overflow用户

发布于 2013-12-07 00:31:26

Ransack::Helpers::FormBuilder继承自::ActionView::Helpers::FormBuilder。它不像MetaSearch::Helpers::FormBuilder那样提供checks方法。元搜索的checks方法构建了一组check_box_taglabel_tag值。

在Ransack中,对于您在问题中包含的单个复选框条件,我们可以这样做:

代码语言:javascript
复制
<%= f.check_box :membership_cancelled_true %>
<%= f.label :membership_cancelled_true %>

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

代码语言:javascript
复制
<% 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 %>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18385611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档