我想寫一個處理JSON的更新方法。該JSON看起來是這樣的:強參數:如何處理嵌套的json代碼?
{
"organization": {
"id": 1,
"nodes": [
{
"id": 1,
"title": "Hello",
"description": "My description."
},
{
"id": 101,
"title": "fdhgh",
"description": "My description."
}
]
}
}
我的更新方法如下:
def update
organization = Organization.find(params[:id])
nodes = params[:organization][:nodes]
nodes.each do |node|
n = Node.find(node[:id])
unless n.update_attributes(node_params)
render json: organization, status: :failed
end
end
render json: diagram, status: :ok
end
private
def node_params
params.require(:organization).permit(nodes: [:title, :description])
end
不幸的是,n.update_attributes(node_params)
產生:
Unpermitted parameter: id
Unpermitted parameter: id
Unpermitted parameter: id
(0.2ms) BEGIN
(0.3ms) ROLLBACK
*** ActiveRecord::UnknownAttributeError Exception: unknown attribute 'nodes' for Node.
有誰看到我做錯了什麼,並寫這個更新方法?
您嘗試更新節點的更新方法位於組織控制器中嗎? –
是的,它在組織控制器中。 – Nick
然後,您可以使用節點的嵌套屬性,以便具有相同組織的所有節點都將得到保存和更新 –