我有一个嵌套的表单,它拒绝向数据库中插入新记录,尽管父插入正常。无疑是一个明显的,但有人可以建议为什么?嵌套表单没有插入到数据库中?
父模型:
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
输出:
在2013年2月13日16时06分53秒0100 处理由DeliveriesController#发起者POST “/交付” 为127.0.0.1创建以HTML参数: { “UTF8”=> “✓”, “authenticity_token”=>“MdNjphnBQaaHdxelT7RnWDNG2XPpDTQipDKAOkT57h0 =”, “orders”=> {“info”=>“1222”},“commit”=>“Create Delivery”}(0.1ms) begin transaction SQL (2.7ms)INSERT INTO“deliveries” (“created_at”,“updated_at”)VALUES(?,?)[[“created_at”,Wed,13 Feb 2013 15:06:53 UTC +00:00],[ “updated_at”,2013年2月13日,星期三 15:06:53 UTC +00:00]](1.3ms)commit transaction Redir反映到
您可以看到它发布了订单数据,但它没有正确地将其放入数据库中......我错过了什么?
这个工作,非常感谢! – Nick 2013-02-13 15:28:22
欢迎您 - 我看到您在这里相当新,所以可能不知道您应该接受任何您认为是正确的答案。这有助于其他使用Google的人,并增强了答案的声誉。 – chrispanda 2013-02-13 15:36:43
完成 - 由于某种原因,它不会让我做10分钟,但它现在已经奏效! – Nick 2013-02-13 15:41:03