2013-03-19 34 views
34

在我的Rails应用程序,我有以下型号:Rails的Activeadmin - 自定义的关联选择框

class Idea < ActiveRecord::Base 
    belongs_to :user 
end 

class User < ActiveRecord::Base 
    has_many :ideas 
end 

我创造ActiveAdmin CRUD我Idea模型,看起来像,看起来像自定义窗体:

form do |f| 
    f.inputs do 
    f.input :member 
    f.input :description 
    end 
end 

的要求是有自定义文本为成员协会的内容,即"#{last_name}, #{first_name}"。是否可以自定义我的成员选择框来实现它?

任何帮助将不胜感激。

回答

71

是的,那是可能的。我假设你想使用DropDown列表框membersUser模型中选择一个用户。

form do |f| 
    f.inputs do 
    f.input :user_id, :label => 'Member', :as => :select, :collection => User.all.map{|u| ["#{u.last_name}, #{u.first_name}", u.id]} 
    f.input :description 
    end 
end 
+2

这种类型的集合中的地图不适合我... activeadmin总是显示我的u.name,而不是像我设置的u.cod ...我的集合:User.all.map {| U | [u.cod,u.id]} – squiter 2014-03-28 12:46:20