Strong params: How to process nested json code? Strong params: How to process nested json code? json json

Strong params: How to process nested json code?


On the unless n.update_attributes(node_params) line, you're trying to update Node n with nodes_params, which are all of the nodes from your JSON minus the ids:

{"nodes"=>[{"title"=>"Hello", "description"=>"My description."}, {"title"=>"fdhgh", "description"=>"My description."}]}

You could just add :id as a permitted node parameter, cut out the nodes assignment step, iterate over node_params instead, and just omit the :id when updating Node n. E.g.,

def update  organization = Organization.find(params[:id])  node_params.each do |node|    n = Node.find(node[:id])    unless n.update_attributes(node.except(:id))      render json: organization, status: :failed    end  end  render json: diagram, status: :okendprivate  def node_params    params.require(:organization).permit(nodes: [:id, :title, :description])  end