Unpermitted parameter ...
というエラーが出力されていた。
JSON型のデータを保存するPOSTリクエストを投げます。(JSON.stringify()
に注目)
// 👇 JSON.stringify()で文字列にする await axios.post("/api/v1/users", { json_data: JSON.stringify(data) });
updateするパラメータの定義
private def user_update_params params.require("user").permit(%i( json_data )) end
updateする処理
data = user_update_params # 👈 別の変数に移す # 👇 JSON.parse()する if (data[:json_data]) data[:json_data] = JSON.parse(data[:json_data]) end current_user.user_update_params(data) # 👈 保存
user_update_params
を文字列で通してから、JSON.parse()
した値を再代入する。Railsがいい感じで取得してくれるので、何もしなくて良い。リクエストの時のみJSON.stringify()
する。
const res = await axios.get("/api/v1/users"); res.user.json_data // Object型