当我尝试接受表单中的嵌套属性时,我在日志中收到Unpermitted parameters: latitude, longitude, address
错误。确切的参数看起来像:
{
"widget"=> {
"owner"=>"100",
"name"=>"Widget Co",
"locations_attributes" => {
"0"=> {
"latitude"=>"51.4794259",
"longitude"=>"-0.1026201",
"address"=>"123 Fake Street"
}
}
},
"commit"=>"Create Supplier",
"action"=>"create",
"controller"=>"widgets"
}
小部件has_many
位置和位置belongs_to
小部件。参数设置在widgets_controller
中我认为允许“0”以下的所有内容,但似乎不是吗?
def widget_params
params.require(:widget).permit(:owner, :name, locations_attributes: [{"0" => []}])
end
是否有工作/更好的方式接受这些参数?
由于
答案 0 :(得分:4)
试试这个
def widget_params
params.require(:widget).permit(:owner, :name, locations_attributes: [:id, :latitude, :longitude, :address])
end
答案 1 :(得分:1)
您的widgets_params代码应为:
def widget_params
params.require(:widget).permit(:owner, :name, locations_attributes: [:latitude, :longitude, :address])
end