6

Ruby on Rails には Active Admin gem を使用しています。has_many と belongs_to の関係を持つモジュール Team と Coach があります。

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

私が欲しいのは、ドロップダウン メニューのチーム フォーム (新規および編集ページ) でコーチの姓名を表示する方法です。これで私を助けてください。

4

3 に答える 3

7

これを試していただけますか

f.input :coach_name, :as => :select, :collection => Coach.all.map {|u| [u.firstname, u.id]}, :include_blank => false
于 2012-04-18T07:35:52.550 に答える
5

私も同じ問題を抱えていました。編集ページの選択メニューには、次のようなオブジェクト インスタンスが表示されます。

#<Coach:0x00eff180c85c8>

それを解決して各インスタンスのフィールドにアクセスするには、これを使用します。

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

ActiveAdmin は Formtastic を使用しており、そのドキュメントにはさらに多くの例があります。

このスタックオーバーフローの回答は、この解決策を得るのに役立ちました。

于 2014-01-06T20:56:41.070 に答える
3

これを試して:

f.input :coach_name, :as => :select, :collection => Coach.all.map {|u| [u.firstname.to_s, u.id]}
于 2014-01-08T05:52:46.473 に答える