2011-12-26 3 views
0

Я новичок в Rails, и я хочу использовать Active Admin в своем первом проекте для управления 2 вложенными объектами, но я наткнулся на фильтры (не дружественные метки).Как использовать Rails Gem Active Admin с базовыми ассоциациями

Вот мои 2 модели:

class Utilisateur < ActiveRecord::Base 

    has_many :etablissements, :dependent => :destroy 
    attr_accessible :email, :nom 

end 

class Etablissement < ActiveRecord::Base 

    belongs_to :utilisateur 
    attr_accessible :intitule 

end 

Затем в приложение/админ/etablissements.rb у меня есть:

ActiveAdmin.register Etablissement do 

    filter :intitule 
    filter :utilisateur, :as => :select, :collection => proc { Utilisateur.all } 

end 

Но поле выбора выглядит следующим образом:

<label for="q_utilisateur_id_eq">Utilisateur</label> 
<select id="q_utilisateur_id_eq" name="q[utilisateur_id_eq]"> 
<option value="">Any</option> 
<option value="1">#&lt;Utilisateur:0x00000129dbfd60&gt;</option> 
<option value="2">#&lt;Utilisateur:0x00000129dbf9c8&gt;</option> 
</select> 

Эти метки-опции явно не являются удобными для пользователя. Любые идеи о том, как иметь поле электронной почты или любое другое настраиваемое поле в качестве метки-метки?

Спасибо за вашу помощь

ответ

2

Создать метод display_name в модели:

class Utilisateur < ActiveRecord::Base 

    has_many :etablissements, :dependent => :destroy 
    attr_accessible :email, :nom 

    def display_name 
    "#{nom}, #{email}" 
    end 

end 

Вы можете прочитать больше в источнике самого драгоценного камня, я полагаю, вы знаете, где найти его на вашей системе , Смотрите, например:

path-to-active-admin-gem/lib/active_admin/application.rb 

В этом файле вы увидите этот метод:

# Active Admin makes educated guesses when displaying objects, this is 
# the list of methods it tries calling in order 
setting :display_name_methods, [ :display_name, 
            :full_name, 
            :name, 
            :username, 
            :login, 
            :title, 
            :email, 
            :to_s ] 

удачи ЕТ Ьоппе шанс!

+0

Большое спасибо Sjors;) –

Смежные вопросы