2011-12-26 35 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> 

這些選項標籤顯然不方便用戶使用。關於如何將:email字段或任何其他自定義字段作爲選項標籤的任何想法?

感謝您的幫助

回答

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;) – 2012-02-29 15:20:16

相關問題