私は1:1の関係を持つ設備を備えたモデルを持っています:
class Listing < ActiveRecord::Base
attr_accessible :address1, :address2, :bath, :bedroom, :city, :description, :neighborhood, :sleeps, :sqft, :state_id, :title, :zip, :images_attributes, :amenity_attributes
has_many :images, :dependent => :destroy
accepts_nested_attributes_for :images, :allow_destroy => true
has_one :amenity
accepts_nested_attributes_for :amenity, :allow_destroy => true
end
およびアメニティテーブル:
class Amenity < ActiveRecord::Base
attr_accessible :air_conditioning, :balcony
belongs_to :listing
end
最後に、私の見解:
<%= simple_nested_form_for (@listing), :html => {:multipart => true} do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<%= f.input :title %>
<%= f.input :sleeps %>
<%= f.input :bath %>
<%= f.input :bedroom %>
<%= f.input :sqft %>
<%= f.input :neighborhood %>
<%= f.input :address1 %>
<%= f.input :address2 %>
<%= f.input :city %>
<%= f.input :state_id %>
<%= f.input :zip %>
<%= f.input :description %>
</div>
<!-- amenities -->
<%= f.fields_for :amenities do |a| %>
<div class="amenities">
<label><%= a.check_box :smoking %> Smoking Allowed</label>
</div>
<% end %>
<!-- end amenities -->
<!-- Submit button -->
<% end %>
送信を押すと、エラーが発生します。
Can't mass-assign protected attributes: amenities
ここで何が起こっているのか分かりますか?:amenities_attributesタグとaccepts_nestedタグを許可しても送信されません。