Rails Activeadmin - 自定义关联选择框

ale*_*333 39 ruby ruby-on-rails activeadmin

在我的Rails应用程序中,我有以下模型:

class Idea < ActiveRecord::Base
  belongs_to :user
end

class User < ActiveRecord::Base
  has_many :ideas
end
Run Code Online (Sandbox Code Playgroud)

我正在为我的模型创建ActiveAdmin CRUD Idea,其自定义表单看起来像这样:

form do |f|
  f.inputs do
    f.input :member
    f.input :description
  end
end
Run Code Online (Sandbox Code Playgroud)

要求是为成员关联的内容提供自定义文本,即"#{last_name}, #{first_name}".是否可以自定义我的成员选择框来实现它?

任何帮助将不胜感激.

Hun*_*der 88

是的,这是可能的.我假设您要使用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
Run Code Online (Sandbox Code Playgroud)

  • 集合中的这种类型的地图对我不起作用... activeadmin总是显示我的u.name而不是像我设置的u.cod ...我的集合:User.all.map {| u | [u.cod,u.id]} (2认同)