如何通过rails_admin中的id获取用户名?

How to get a user name by its id in rails_admin?

我有模型 UserArticle

User 有以下关联:

class User < ActiveRecord::Base
  has_many :articles

Article的:

class Article < ActiveRecord::Base
  belongs_to :user, required: true

我使用rails_admin作为控制面板,在rails_admin.rb中自定义一个必填字段如下:

  config.model Article do
    list do
      field :id
      field :title
      field :user_id
      field :created_at
    end
  end

但是如何实现而不是 :user_id 显示用户名?我的数据库中有一个 username 字段。

谢谢!

在您的 Article 模型中,您可以添加一个自定义方法,该方法将 return user_name:

def user_name
  self.user.username
end

然后,您可以像使用其他模型属性一样在您的管理员中使用此 user_name 字段:

config.model Article do
  list do
    field :id
    field :title
    field :created_at
    field :user_name
 end
end

这是另一个尝试...

Rails_admin在模型上寻找"name"或"title"字段,如果有none,它会显示一个有点难看的"User#1"。

您需要在用户模型中添加以下方法:

def title
  try(:username)
end

我想返回此演示文稿以了解 Rails 管理员的最佳做法:http://www.slideshare.net/benoitbenezech/rails-admin-overbest-practices

它有点过时了,但你需要的一切都在那里(你的情况在第 14 页左右)