私はbelongs_toアソシエーションでレンダリングされたネストされたフォームを取得するのに苦労しています。Rails 3:belongs_toアソシエーションでレンダリングされたネストされたフォーム
"_form.html.erb"(下記)のアドレスフィールドが正しく表示されることを期待していましたが、明らかにそうではありません。
レールのバージョン:3.09
ここにコードがあります。
モデル:
Store.rb
class Store < ActiveRecord::Base
has_and_belongs_to_many :products
belongs_to :store_address, :foreign_key => "address_id", :class_name => "Address"
......
end
アドレスは、(それが独立している)
コントローラ
stores_controllerをストアモデルへの参照を持っていません。 rb
def new
@store = Store.new
@store.build_store_address
respond_with(@store)
end
ビュー
new.html.erb
<% form_for(@store, :url => collection_url) do |f| %>
<%= render :partial => "form", :locals => { :f => f } %>
<p class="form-buttons">
<%= button t('continue') %>
</p>
<% end %>
_form.html.erb
<%=t(:store_name)%> : <%= text_field :store, :name %>
<%=t(:store_admin_email)%> : <%= text_field :store, :admin_email %>
<fieldset>
<legend><label><%=t(:address)%></label></legend>
<% f.fields_for :store_address do |address_form| %>
<table>
<tbody><tr>
<td width="200"><label><%=t(:line_1)%></label></td><td>
<%= address_form.text_area :address1, :rows => 2%>
</td>
</tr>
<tr>
<td><label><%=t(:line_2)%></label></td><td>
<%= address_form.text_area :address2, :rows => 2 %>
</td>
</tr>
<tr>
<td><label><%=t(:city)%></label></td><td>
<%= address_form.text_field :city %>
</td>
</tr>
.......
これは、店舗名をレンダリングします。アドレス側には何もありません。助けてください!
これまでに完了しましたか?しかし、私に似たセットアップがありますが、フォームを送信しようとするとstore_addressが作成されません。 – Altonymous