2012-04-14 24 views
6

Tôi sử dụng đá quý Admin quản trị cho Ruby on Rails. Tôi có các mô-đun Team and Coach, có mối quan hệ has_many và depends_to.Các biểu mẫu ActiveAdmin (mới/chỉnh sửa) thuộc về hiệp hội?

class Team < ActiveRecord::Base 
    belongs_to :coach 
end 

class Coach < ActiveRecord::Base 
    has_many :teams 
end 

tôi đã tìm ra cách để hiển thị tên đầu tiên và tên cuối cùng trên chỉ số và hiển thị trang (tôi đã làm nó như thế :)

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

gì tôi muốn là làm thế nào để hiển thị tên đầu tiên và tên cuối cùng huấn luyện viên ở dạng Đội (trang mới và trang chỉnh sửa) trong menu thả xuống? Hãy giúp tôi với điều này.

Trả lời

7

Bạn có thể thử này

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

tôi đã cùng một vấn đề. Các chương trình chỉnh sửa trang phản đối trường hợp trong menu chọn như,

#<Coach:0x00eff180c85c8> 

Để giải quyết nó và truy cập vào các lĩnh vực của từng dụ sử dụng này,

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 sử dụng Formtastic và documentation của nó có nhiều ví dụ.

Luồng xếp chồng này answer đã giúp tôi nhận được giải pháp này.

3

Hãy thử điều này:

f.input :coach_name, :as => :select, :collection => Coach.all.map {|u| [u.firstname.to_s, u.id]} 
Các vấn đề liên quan