ruby-on-rails-3 - ActiveAdmin:按子协会的属性排序

标签 ruby-on-rails-3 activeadmin

我有这些对象:

class District < ActiveRecord::Base
  belongs_to :city
end
class City < ActiveRecord::Base
  has_many :districts
end

我想做的(到目前为止还做不到)是:拥有一个 City栏目District的索引,该列应该可以在 City.name 上排序.

在不使 ActiveAdmin 崩溃的情况下,我能做的最接近的事情是:
index do
  column City.human_name(:count => :other), :city, :sortable => :city_id
end

这当然还不够好;我不想对外键的整数值进行排序。

尝试过类似 :sortable => 'city.name' 的东西,给出错误。甚至试图像在“纯”Rails 上那样做 - :joins => :cities, :sortable => 'city.name' - 没运气。尝试了一堆其他愚蠢的东西,生气并决定谦虚地寻求帮助。

任何人都可以指出我正确的方向吗?
谢谢你的时间。

最佳答案

这也应该做的工作:

index do
  column City.model_name.human, :city, :sortable => 'cities.name'
end

controller do
  def scoped_collection
    end_of_association_chain.includes(:city)
  end
end

关于ruby-on-rails-3 - ActiveAdmin:按子协会的属性排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7781193/

相关文章:

jquery - jQuery轮询和Faye服务器有什么区别?

ruby-on-rails - 使用 omniauth 设计 - 为开发和生产设置单独的配置

ruby-on-rails-3 - 我如何使用 rails 在应用程序/模块中组织类的命名空间?

ruby-on-rails-3 - 如何在ActiveAdmin中过滤IS NULL?

activeadmin - 事件管理员中的翻译模型名称

ruby-on-rails - Rails 基本搜索和 PostgreSQL

ruby-on-rails - 在 Rails 3 中运行 thumbs_up gem 时出现问题

ruby-on-rails - own_to 更改 activeadmin 中的 header

ruby-on-rails - ActiveAdmin - 如何删除所有对象(不仅仅是当前列表页面上的对象)(Rails ')

ruby-on-rails - Active Admin 嵌套模型未在编辑中填充