0

2つのモデルを完全に作成できるフォームが1つありますが、一方のモデルを更新してもう一方のモデルを作成する方法はありますか?再開:アポイントメントを作成するためのフォームがあり、このアポイントメントの担当者を作成することもできます。

def new
  @Cita = Cita.new
  @Cita.build_paciente

  render :new
end

def create

 @Cita = Cita.new(params[:cita])

 if @Cita.save
  redirect_to :action => 'hoy'
 else
  render  'new'

終わり

これは、2つのモデルを同時に作成する場合は非常にうまく機能しますが、人物フィールドに入力すると...人物属性( "paciente")を更新し、その人物の予定( "Cita")を作成するにはどうすればよいですか。 。

ありがとう。

4

1 に答える 1

0

最後に、personフォームのperson_IDに入力する非表示フィールドを追加して解決しました。モデル属性でIDを送信すると、Railsはそのモデルの挿入ではなく更新を行い、ネストされたモデルを関連付ける他のモデルを作成します。この非表示フィールドが空の場合、レールは一度に2つのモデルを作成します。

于 2013-01-24T08:54:42.320 に答える