Rails 关联的管理员自定义列 table

Rails Admin custom column for association table

我正在使用 Ruby 2.3,Rails 4.2.7 & rails-admin 1.2.0

我对在列表中显示的关联列有疑问。

Class Address < ActiveRecord::Base
  belongs_to :user

  # Have to write custom because Rails Admin doesn't allow to add multiple columns from the association table.
  def custom_column
    self.user.email
  end

  rails_admin do
    list do
      include_fields # it only works on the current model
      field :id
      field :custom_column
      field :user
      field :address
    end
  end
end

自定义列始终位于最后。有什么办法可以把柱子放在任何位置吗?自定义列属于用户模型。

我为此做了一个解决方法。在单个列中包含多个用户列。

field :user do
  column_width 400
  queryable true
  searchable [:name, :email]
  pretty_value do
    path = bindings[:view].show_path(model_name: 'User', id: bindings[:object].user.id)
    bindings[:view].tag(:a, href: path) << "#{value.name} - (#{value.email})"
  end
end

这样,我就可以通过姓名和电子邮件进行搜索,并且可以在管理员中与用户模型相同的位置进行搜索。