2012-06-20 2 views
1

при использовании rails_admin для связанных объектов (например has_and_belongs_to) он отображает идентификатор объекта в качестве ассоциации. Это не очень удобно для пользователей, поэтому я хотел бы изменить это для отображения текста связанного объекта.Замените идентификатор текстом в ассоциациях rails_admin

Является ли это разрешимым?

Вот небольшой пример:

Первая модель:

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:

Но я был бы рад видеть текст еды.

ответ

6

Просто определить заголовок-метод сделать трюк:

def title 
    self.text 
end 
+0

Привет, сэр, вы можете проверить мой форум? У меня есть вопрос, подобный этому. https://stackoverflow.com/questions/44234531/how-can-i-display-the-name-instead-of-an-id-without-the-name-column/44234592?noredirect=1#comment75480115_44234592 – Angel

2

Вы можете использовать RailsAdmin DSLobject_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 
+0

Это не работает для меня, но вашу ссылку приводит к правильному решению THX – PascalTurbo

+0

@PascalTurbo Упорядочить правильный ответ и пометить его как правильно (или пометить мой как правильный, если он сработает)? – JeanMertz