ActiveAdmin表单(新/编辑)belongs_to关联?

Luk*_*uka 6 ruby-on-rails activeadmin

我在Ruby on Rails上使用Active Admin gem.我有模块Team和Coach,它们具有has_many和belongs_to关系.

class Team < ActiveRecord::Base
  belongs_to :coach
end

class Coach < ActiveRecord::Base
  has_many :teams
end
Run Code Online (Sandbox Code Playgroud)

我想出了如何在索引和显示页面上显示名字和姓氏(我这样做:)

  index do
    column :name
    column "Coach" do |team|
      team.coach.firstname + " " + team.coach.lastname
    end  
     default_actions
  end
Run Code Online (Sandbox Code Playgroud)

我想要的是如何在下拉菜单中以团队形式(新建和编辑页面)显示教练的名字和姓氏?请帮我解决一下这个.

Ama*_*r S 7

你能试试吗?

f.input :coach_name, :as => :select, :collection => Coach.all.map {|u| [u.firstname, u.id]}, :include_blank => false
Run Code Online (Sandbox Code Playgroud)


hal*_*ley 5

我有同样的问题。编辑页面在选择菜单中显示对象实例,例如,

#<Coach:0x00eff180c85c8>
Run Code Online (Sandbox Code Playgroud)

要解决它并访问每个实例的字段,请使用它,

form do |f| 
  f.inputs "Coaches" do
    f.input :name
    f.input :coach, member_label: Proc.new { |c| "#{c.firstname} #{c.lastname}"
  end
  f.actions
end
Run Code Online (Sandbox Code Playgroud)

ActiveAdmin 使用 Formtastic,其文档中有更多示例。

这个stackoverflow答案帮助我得到了这个解决方案。