2011-12-26 8 views
0

私はRailsを初めて使い、最初のプロジェクトでActive Adminを使用して2つのネストされたオブジェクトを管理したいのですが、フィルタに手が届きません。ここでRails Gem Active Adminと基本的な関連付けの使い方

は私の2つのモデルです:私は持っているアプリ/管理/ etablissements.rbで次に

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 

<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> 

ActiveAdmin.register Etablissement do 

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

end 

しかし、選択フィールドは次のようになりますこれらのオプションラベルは、ユーザーフレンドリーではありません。 :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;) –

関連する問題