Open3
ReactからRailsにStrong Parametersを渡す際の実装
RailsのStrong Parameterとは?
- Railsでform_forすると、こんな形式で渡している
{
"utf8": "✔︎",
"authencity_token": "",
"post": {title: "hoge", description: "fuga"},
"commit": "投稿しました"
}
- これをcontroller側で、以下のように受け取る
class PostsController < ApplicationController
def create
@post = Post.new(post_params)
if @post.save
redirect_to post_path(@post)
end
end
private
def post_params
params.require(:post).permit(:title, :description)
end
end
- 上記post_paramsで実装している部分がstrong parameters
- strong parametersでは、
require
とpermit
を利用して、取得できる値を制限する-
require
: hashで受け取るkeyを指定 -
permit:
hashで受け取るvalueの指定
-
- パラメーターで見ると、以下のようになる
{
"utf8": "✔︎",
"authencity_token": "",
"post": #keyにあたる部分
{title: "hoge", description: "fuga"}, #valueにあたる部分
"commit": "投稿しました"
}
React側の実装
- axiosで実装する
const params = {title: "hoge", description: "fuga"}
axios
.post(API_ENDPOINT, {post:params})
.then((response) => {
alert('投稿を追加しました')
})
参考