首页 > 解决方案 > 如何在 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

“距离差异”列应该是可排序的。

标签: ruby-on-railsactiveadmin

解决方案


参考Tomáš 的回答,基于视图的模型解决方案的链接似乎已更改为:https ://danchak99.wordpress.com/enterprise-rails/chapter-11-view-backed-models/

我知道不鼓励发布答案以回复另一个答案,但我没有业力对答案发表评论。我想与其他需要此信息的人分享此说明。


推荐阅读