2012-04-14 21 views
6

私はRuby on RailsにActive Admin gemを使用しています。 私はhas_manyとbelongs_toの関係を持つモジュールチームとコーチを持っています。ActiveAdminフォーム(新規/編集)belongs_to関連はありますか?

class Team < ActiveRecord::Base 
    belongs_to :coach 
end 

class Coach < ActiveRecord::Base 
    has_many :teams 
end 

私はそのようにそれをやった(インデックスとショーのページで姓と名を表示する方法を考え出した:)

index do 
    column :name 
    column "Coach" do |team| 
     team.coach.firstname + " " + team.coach.lastname 
    end 
    default_actions 
    end 

私が欲しいものは、姓と名を表示する方法でありますチーム形式のコーチ(新しいページと編集ページ)をドロップダウンメニューに表示しますか? これを手伝ってください。

答えて

7

は、私は同じ問題を抱えていたこの

f.input :coach_name, :as => :select, :collection => Coach.all.map {|u| [u.firstname, u.id]}, :include_blank => false 
3

を試すことができます。編集ページが

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 
、それを解決し、各インスタンスのフィールドは、これを使用するアクセスするには、このような

#<Coach:0x00eff180c85c8> 

、などを選択し、メニュー内のオブジェクトのインスタンスを示しActiveAdminはFormtasticを使用し、そのdocumentationは、より多くの例があります。

このスタックオーバーフローanswerは私にこの解決方法を手伝ってくれました。

3

これを試してみてください:

f.input :coach_name, :as => :select, :collection => Coach.all.map {|u| [u.firstname.to_s, u.id]} 
関連する問題