家主クラスがあり、N 個のアドレスがあります。家主は住所のネストされた属性を受け入れます 私は家主を作成するために使用されるフォームを持っています そのフォームは住所を作成するためのサブフォームです。
住所には landlord_id が有効である必要があるため、保存します。
家主を作成しているので、家主コントローラーの create メソッド呼び出しで家主を 2 回保存することなく、住所を作成するにはどうすればよいですか?
landlord_controller.rb#create
def create
#check if a landlord of the same name already exists and load that instead
@landlord = Landlord.where(:name => params[:landlord][:name], \
:city_id => params[:landlord][:city_id], \
:province_id => params[:landlord][:province_id]).
first_or_create
if @landlord.save
flash[:success] = #"Thank you for submitting a Landlord "
#@landlord.addresses.build ....
#@landlord.save
redirect_to @landlord
else
render :new
end
end
landlord/new.html.erb # フォーム
<%= form_for @landlord do |f| %>
<%= f.fields_for :address do |address_form| %>
<%= address_form.label :number %>
<%= address_form.text_field :number %>
<%= address_form.label :street %>
<%= address_form.text_field :street %>
<%= address_form.label "#{:unit}# / Apt #" %>
<%= address_form.text_field :unit %>
<%= address_form.label :postal %>
<%= address_form.text_field :postal %>
<% end %>
<% end %>