親が正常に挿入しているにもかかわらず、DB に新しいレコードを挿入することを拒否しているネストされたフォームがあります。間違いなく明白なものですが、誰かがその理由をアドバイスできますか?
親モデル:
class Delivery < ActiveRecord::Base
attr_accessible :orders_attributes
has_many :orders, as: :orderable
accepts_nested_attributes_for :orders
ネストされたモデル
class Order < ActiveRecord::Base
attr_accessible :info
belongs_to :orderable, polymorphic: true
belongs_to :delivery
親コントローラー
def new
@delivery = Delivery.new
order = @delivery.orders.build
respond_to do |format|
format.html # new.html.erb
format.json { render json: @delivery }
end
end
形
= form_for @delivery do |f|
= fields_for :orders do |builder|
= builder.label :info
= builder.text_area :info
.actions
= f.submit
出力:
127.0.0.1 の POST "/deliveries" を 2013-02-13 16:06:53 +0100 で開始しました DeliveryController#create による処理 HTML パラメーター: {"utf8"=>"✓", "authenticity_token"=>"MdNjphnBQaaHdxelT7RnWDNG2XPpDTQipDKAOkT57h0= ", "orders"=>{"info"=>"1222"}, "commit"=>"Create Delivery"} (0.1ms) トランザクション SQL の開始 (2.7ms) INSERT INTO "deliveries" ("created_at"," updated_at") VALUES (?, ?) [["created_at", 水, 2013 年 2 月 13 日 15:06:53 UTC +00:00], ["updated_at", 水, 2013 年 2 月 13 日 15:06:53 UTC +00 :00]] (1.3ms) commit トランザクションにリダイレクト
注文データがポストされているのがわかりますが、DB に正しく入れられていません。