ruby-on-rails - 如何在 ActiveAdmin 中对自定义列进行排序?
问题描述
我正在尝试对 ActiveAdmin 中索引页面上的自定义列进行排序,该列显示辅助方法提供的数据。
我尝试了多种排序解决方案,但都没有奏效。我正在考虑尝试使用自定义范围进行排序,但我正在寻找 Active Admin 中的解决方案。
index do
selectable_column
id_column
column ("Driver") { |cd| link_to("#{cd.campaign_driver.full_name}", admin_driver_path(cd.campaign_driver.driver_id)) }
column :started_at
column :ended_at
column ("Distance(km)") { |route| route_distance(route) }
column ("Clean distance(km)") { |route| route_clean_distance(route) }
column ("Distance diff(km)") { |route| route_distance_diff(route) }
column ("Duration") { |route| route_duration(route) }
column ("Average speed") { |route| route_avg_speed(route) }
actions
end
“距离差异”列应该是可排序的。
解决方案
参考Tomáš 的回答,基于视图的模型解决方案的链接似乎已更改为:https ://danchak99.wordpress.com/enterprise-rails/chapter-11-view-backed-models/
我知道不鼓励发布答案以回复另一个答案,但我没有业力对答案发表评论。我想与其他需要此信息的人分享此说明。
推荐阅读
- java - 在 AWS CodeBuild 上使用类路径运行独立 jar 通过,但测试实际上并未运行
- java - MapStruct 和泛型转换定义
- swift - Swift 单例中“共享”和“标准”的区别?
- ssh - 远程 SSH 失败 - r30 秒后超时
- node.js - 在 MongoDB 中查找包含特定值的数组的文档的时间复杂度是多少?
- javascript - 如何在嵌套的异步/等待函数中返回数据
- node.js - 运行 rpm install 时出现“code EMISSINGARG”错误
- python - Pyqt5:如何设计功能以使按钮在 pyqt 中按我希望的那样工作?
- php - DateTime::modify 返回错误结果
- symfony - symfony serialize() 从 __sleep() 作为成员变量返回,但不存在