微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails-3 – eq_any for boolean attributes – ransack

我的模型书中有一个布尔属性(已发布),我希望使用该值的复选框过滤所有书籍.

class Book < ActiveRecord::Base
  attr_accessible :published
end

这意味着我喜欢像eq_any这样的东西,但是对于真或假.有没有办法用Ransack做到这一点?

UPDATE

我希望用户能够只选择出版的书籍,只选择未出版的书籍和任何书籍.所以单个复选框不会.

解决方法

我通过使用带有三个选项的选择列表解决了这个问题:“全部”,“是”和“否”

= select :q,:published_true,[['Yes',1],['No',0]],{ include_blank: 'All',selected: params[:q] ? params[:q][:published_true] : '' }

published_true的查询字符串如下所示:

q [published_true] = 1 1将返​​回已出版的书籍

q [published_true] = 0 0将返回未发表的书籍

q [published_true] =空白 – 将返回已出版和未出版的书籍

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐