2012-04-14 9 views
6

मैं रूबी पर रूबी के लिए सक्रिय व्यवस्थापक मणि का उपयोग करता हूं। मेरे पास मॉड्यूल टीम और कोच है, जिसमें has_many है और रिश्ते के संबंध में है।ActiveAdmin रूप (नया/संपादित) एसोसिएशन से संबंधित है?

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

मैं एक ही समस्या थी। संपादित करें पृष्ठ से पता चलता है जैसे चयन मेनू में उदाहरणों वस्तु,

#<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 का उपयोग करता है और उसके documentation अधिक उदाहरण है।

यह स्टैक ओवरफ्लो answer ने मुझे यह समाधान प्राप्त करने में मदद की।

3

इस प्रयास करें:

f.input :coach_name, :as => :select, :collection => Coach.all.map {|u| [u.firstname.to_s, u.id]} 
संबंधित मुद्दे