gpt4 book ai didi

ruby-on-rails - Ransack 计数排序顺序错误

转载 作者:行者123 更新时间:2023-12-04 08:55:17 29 4
gpt4 key购买 nike

我正在使用 Ransack Gem 并通过计数器缓存进行计数排序。我的属性是一个整数。
我这样称呼它:

<%= sort_link(@q, :people_count, "PEOPLE") %>
我得到的排序输出是:
[人升]
1
2
0
0
[人物描述]
0
0
2
1
我要 人事部显示:
2
1
0
0
任何人都可以帮忙吗?
--- 更新 -----
经过一个多小时的搜索,我觉得我越来越近了:
首先,我必须编辑我的 View :
<%= mycontact.people.count %>
<%= mycontact.people_count %>
这将所有零更改为 nil。
现在我的排序输出是:
[人物描述]


2
1
然后我做了更多的挖掘,找到了 link github 上的这个问题说明您必须最后添加 NULLS。
所以我在 中添加了以下代码peoples_controller.rb :
@q.result.except(:order).order("#{@q.sorts.first.attr_name} #{@q.sorts.first.dir} NULLS LAST")
起初我很兴奋,因为它有效,但在重新启动服务器后出现以下错误:
nil:NilClass 的未定义方法 `attr_name'

最佳答案

我不熟悉 Ransack gem;但是,既然我已经看到了它的功能,我可能最终会使用它。

尝试这个:

<%= sort_link(@q, :people_count, "PEOPLE", default_order: :desc) if :people_count > 0 %>

沿着这些方向应该会为您提供以下 [PEOPLE DESC] 的输出:

2

1

然后你可以做这样的事情:
<%= sort_link(@q, :people_count, "PEOPLE", default_order: :desc) where :people_count = 0 %>

显示计数为 0 的结果。

这个逻辑有意义吗?

关于ruby-on-rails - Ransack 计数排序顺序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28151363/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com