我有模型User
和Article
。
User
具有以下关联:
class User < ActiveRecord::Base
has_many :articles
和Article
&#39; s:
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
字段。
谢谢!
答案 0 :(得分:1)
在Article
模型中,您可以添加一个返回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
答案 1 :(得分:0)
这是另一个刺痛......
Rails_admin在模型上查找“名称”或“标题”字段,如果没有,它将显示有点丑陋的“用户#1”。
您在用户模型中需要做的就是添加以下方法:
def title
try(:username)
end
我想回到本演示文稿,了解Rails管理员的最佳做法:http://www.slideshare.net/benoitbenezech/rails-admin-overbest-practices
这有点过时但你需要的一切都在那里(对你的案子来说是第14页)