1

家主クラスがあり、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 %>
4

1 に答える 1