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

相关问题