【问题标题】:Ransack opposite predicate :presentRansack相反的谓词:现在
【发布时间】:2013-01-10 09:31:31
【问题描述】:

Ransack 有能力找到具有first_nameUser

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")?

谢谢

【问题讨论】:

    标签: ruby-on-rails ransack


    【解决方案1】:

    你当然可以在打电话给search之前做这样的事情:

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

    我认为这些不是同一个东西很好,否则,你不能有一个复选框来只查找那些名字为空的用户——它不允许列出所有用户的状态。就像现在一样,未选中的复选框不会导致过滤。

    【讨论】:

    • 是的。这正是我已经做过的。我只是好奇,是否有任何空白/现在反对的直接谓词?顺便说一句。
    猜你喜欢
    • 1970-01-01
    • 2014-01-26
    • 1970-01-01
    • 1970-01-01
    • 2015-08-12
    • 1970-01-01
    • 2014-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多