Tôi có một mô hình Timesheet, một mô hình Chạy và một mô hình Vận động viên.Collection_select trong một mẫu mô hình lồng nhau
class Timesheet < ActiveRecord::Base
has_many :runs, :dependent => :destroy
accepts_nested_attributes_for :runs
end
class Run < ActiveRecord::Base
belongs_to :timesheet
belongs_to :athlete
end
class Athlete < ActiveRecord::Base
has_many :runs
end
Chạy được lồng dưới bảng chấm công, và tôi muốn tạo ra một vài chạy trên các hình thức tương tự tôi tạo ra một Timesheet, như trong này railscast
class TimesheetsController < ApplicationController
def new
@timesheet = Timesheet.new
3.times { @timesheet.runs.build }
end
Trên mẫu Timesheet của tôi, tôi gặp vấn đề với collection_select của tôi (một danh sách các tên vận động viên điền vào trường: athlete_id trong bảng Runs).
<% form_for(@timesheet) do |f| %>
<%= f.error_messages %>
<%= f.label "Date" %>
<%= f.text_field :date %>
<% f.fields_for :runs do |builder| %>
<%= collection_select(:run, :athlete_id, Athlete.all(:order => 'name'), :id, :name, { :prompt => 'Select Athlete' }) %>
<% end %>
<%= f.submit 'Create' %>
<% end %>
Có thể cư: Trường athlete_id của một Run với một collection_select như trình bày ở trên, trong một hình thức lồng nhau cho Timesheet, hoặc tôi đang thiếu cái gì?
Cảm ơn bạn! Điều này làm việc hoàn hảo và đã cứu tôi rất nhiều thất vọng. – jktress