【问题标题】:smart_listing custom sort railssmart_listing 自定义排序导轨
【发布时间】:2021-11-13 08:27:50
【问题描述】:

我有这个代码

%th= smart_listing.sortable(t('.name'), 'name')

假设名字分为两部分,名字和姓氏(例如:“Carlos Gonzales”),有没有办法按姓氏排序?

【问题讨论】:

  • 您如何对包含 3 或 4 个部分的名称进行排序?如果有 3 个部分,您如何知道第二部分是第二个名字还是第一个姓氏?恐怕您无法自动按姓氏排序,除非您的数据库中有专用的姓氏列。而且,如果您有一个专门的姓氏列,您仍然需要能够处理没有姓氏的人(是的,这是可能的)。

标签: ruby-on-rails ruby postgresql smart-listing


【解决方案1】:

假设它总是只包含两个部分,是的,这是可能的。您可以使用接受代码块的sort_by 方法。示例:

full_names.sort_by {|full_name| full_name.split[1]}

但这不是通用的解决方案。正如 spicermann 评论的那样,如果您有更复杂的名称,则很难处理。我找到了这个gem,但这不是通用的解决方案。

【讨论】:

  • 谢谢!你能评论一下使用这个 gem 的实现会是什么样子吗?
  • 我应该把你发送的代码放在哪一部分?
  • 你应该在你的数组上使用它的名字
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多