将rails替换为rails_admin关联中的文本

时间:2012-06-20 09:02:47

标签: ruby-on-rails mongoid rails-admin

将rails_admin用于关联对象(如has_and_belongs_to)时,它会将对象的ID显示为关联。 这对用户来说并不是很重要,因此我想更改此内容以显示相关对象的文本。

这可以解决吗?

这里有一个小例子:

第一个模型:

class Menu
  include Mongoid::Document

  field :date, type: Date

  has_and_belongs_to_many :meal
end

第二种模式:

class Meal
  include Mongoid::Document

  field :text, type: String

  has_and_belongs_to_many :menu
end

所以它显示了这样的东西:

So it shows something like this:

但是我喜欢看到饭菜的文字。

2 个答案:

答案 0 :(得分:6)

只需定义一个标题方法即可:

def title
  self.text
end

答案 1 :(得分:2)

您可以使用RailsAdmin DSL object_label_method更改字段呈现给用户的方式。

在你的情况下,这样的事情可能会起到作用:

RailsAdmin.config do |config|
  config.model Menu do
    list do
      field :meal do
        pretty_value do
          value.text
        end
      end
    end
  end
end