根据要添加到订单中的订单项,我有以下动态参数
{"line_item" => {"items"=>{"0"=>{"price"=>"5.75", "name"=>"Item name", "quantity"=>"5"}, "1"=>{"price"=>"3.35", "name"=>"Item name", "quantity"=>"1"}}}
在我的控制器中:
def lineitems_params
params.require(:line_item).permit(:key1, :key2, :key3, :key4, :payment_type, :payment_provider).tap do |whitelisted|
whitelisted[:items] = params[:line_item][:items]
end
end
我仍然得到
Unpermitted parameters: items
在我的日志中,它不会更新项目。我该如何解决?
注意:项目哈希可以在其中包含许多元素。
编辑:
在我的模型中:
serialize :items, Hash
这应该工作
def lineitems_params
params.require(:line_item).permit(:key1, :key2, :key3, :key4, :payment_type, :payment_provider, {:items => {:price, :name, :quantity}})
end
更新资料
也许你应该这样给
def lineitems_params
params.require(:line_item).tap do |whitelisted|
whitelisted[:items] = params[:line_item][:items]
end
end
注意:不要给params.require(:line_items).permit!
它允许所有属性。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句