Ransack对面谓词:现在

时间:2013-01-10 09:31:31

标签: ruby-on-rails ransack

Ransack的能力发现Userfirst_name

User.search(:first_name_present => "1")

相反,发现User没有first_name或空白:

User.search(:first_name_blank => "1")

不幸的是,

User.search(:first_name_present => "0")

不相等

User.search(:first_name_blank => "1")

无论如何要做

User.search(:first_name_present => "0") 相等

User.search(:first_name_blank => "1")

User.search(:first_name_present => "1") 相等

User.search(:first_name_blank => "0")

THX

1 个答案:

答案 0 :(得分:0)

在调用search之前,你当然可以这样做:

params[:q][:first_name_present] = "1" if
  params[:q][:first_name_blank].nil? ||
  params[:q][:first_name_blank] == "0"

我认为这些不是一回事是好的,否则,你没有一个复选框只能找到那些名字空白的用户 - 它不允许列出所有用户的状态。就像现在一样,未选中的复选框不会导致过滤。