2012-04-14 21 views
6

Ruby on Rails için Active Admin gem kullanıyorum. Ben has_many ve belongs_to ilişkisine sahip Team and Coach modülleri var.ActiveAdmin formları (yeni/düzenleme) belongs_to dernek?

class Team < ActiveRecord::Base 
    belongs_to :coach 
end 

class Coach < ActiveRecord::Base 
    has_many :teams 
end 

I (ben bu :) gibi yaptım endeks ve gösteri sayfadaki ilk ad ve soyadı nasıl görüntüleneceğini anladım İstediğim ad ve soyadınızı görüntülemek için nasıl

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

Açılan menüde takım forumu (yeni ve sayfa düzenleme) Lütfen bana yardım edin.

cevap

7

bu

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

Ben aynı problem vardı deneyebilir miyim. düzenlemek sayfa gösterileri

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 kullanır ve onun documentation daha örnekler vardır,

#<Coach:0x00eff180c85c8> 

bunu çözmek ve her örneğin alanlar bu kullanmak erişmek için aşağıdakilere benzer seçme menüsünde örneklerini nesnesi.

Bu yığın aktarımı answer, bu çözümü almam için bana yardımcı oldu.

3

bu deneyin:

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