模型整体交易
accepts_nested_attributes_for :transactions
Overalltransaction::Transaction.class_eval do
attr_accessible :product_id, :rate, [...], :transaction_attributes
end
更新评估添加到模型
的嵌套属性整体交易的创建动作控制器
@overalltransaction = Overalltransaction.new(params[:overalltransaction])
@transaction_count = params[:product_ids].count
@overalltransaction.transactions.build
@transactions = session[:product_ids].map do |product_id|
transaction = Transaction.new
transaction.rate = @price
[...]
end
respond_to do |format|
if @overalltransaction.save
@transactions.each do |transaction|
transaction.save
end
[...]
end
当提交时间到来时,终端指示:
(1.9ms) BEGIN
(1.8ms) ROLLBACK
应该创建的每个产品。这里有什么遗漏/错误? (rails 3.2.21)
答案 0 :(得分:0)
您必须在整体交易中允许嵌套属性,如
params.require(:company).permit(:linkedin, :twitter, :facebook, :name, :organization_type, :industry, :phone, :year, :website, :user_id, :vision, :picture_attributes=> [:id, :image,:image_crop_x, :image_crop_y, :image_crop_w, :image_crop_h, :picturable_id, :picturable_type], :locations_attributes=>[:id, :street_address, :city, :suite, :state, :zip, :phone ,:country, :headquarter, :company_id, :_destroy])
因为我有照片&位置嵌套属性。
答案 1 :(得分:0)
整体交易和交易是相当类似的类,它们也有类似的验证。 ROLLBACK
正在启动,因为未能满足儿童记录的其中一项验证。