Rails has_many: durch verschachtelte Form

Ich bin gerade hineingesprungenhas_many :through Verband. Ich versuche die Möglichkeit zu implementieren, Daten für alle 3 Tabellen zu speichern (Physician, Patient und Zuordnungstabelle) über ein einziges Formular.

Meine Migrationen:
class CreatePhysicians < ActiveRecord::Migration
  def self.up
    create_table :physicians do |t|
      t.string :name
      t.timestamps
    end
  end
end

class CreatePatients < ActiveRecord::Migration
  def self.up
    create_table :patients do |t|
      t.string :name
      t.timestamps
    end
  end
end

class CreateAppointments < ActiveRecord::Migration
  def self.up
    create_table :appointments do |t|
      t.integer :physician_id
      t.integer :patient_id
      t.date :appointment_date
      t.timestamps
    end
  end
end
Meine Modelle:
class Patient < ActiveRecord::Base
  has_many :appointments
  has_many :physicians, :through => :appointments
  accepts_nested_attributes_for :appointments
  accepts_nested_attributes_for :physicians
end
class Physician < ActiveRecord::Base
  has_many :appointments
  has_many :patients, :through => :appointments
  accepts_nested_attributes_for :patients
  accepts_nested_attributes_for :appointments
end
class Appointment < ActiveRecord::Base
  belongs_to :physician
  belongs_to :patient
end
Mein Controller:
def new
    @patient = Patient.new
    @patient.physicians.build
    @patient.appointments.build
end
Meine Sicht (new.html.rb):
<% form_for(@patient) do |patient_form| %>
  <%= patient_form.error_messages %>
  <p>
    <%= patient_form.label :name, "Patient Name" %>
    <%= patient_form.text_field :name %>
  </p>
  <%  patient_form.fields_for :physicians do |physician_form| %>
    <p>
      <%= physician_form.label :name, "Physician Name" %>
      <%= physician_form.text_field :name %>
    </p>
 <% end %>

  <p>
    <%= patient_form.submit 'Create' %>
  </p>
<% end %>

<%= link_to 'Back', patients_path %>

Ich kann ein neues erstellenPatient, Physician und zugehöriger Datensatz für eineAppointment, aber jetzt will ich feld haben fürappointment_date Auch in Form. Wo soll ich Felder platzieren fürAppointments und welche Änderungen sind in meinem Controller erforderlich? Ich habe versucht zu googeln und versuchte esdiese, steckte aber in ein oder anderen Fehler bei der Implementierung.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage