【Ruby on Rails】RailsのStrong Parametersとは
Strong ParametersはDBに入れる値を制限することで、不正なパラメータの入力を防ぐ仕組み
rails4 から導入されたようです。
例えば以下のように受け取ったパラメーターを検証せずにDBに直接保存するようにしていた場合、
def create # render plain: params[:post].inspect # save @post = Post.new(params.require([:post])) @post.save # redirect redirect_to posts_path end
parameterを許可してDB登録するには
①requireでPOSTで受け取る値のキーを設定
②permitで許可するカラムを設定
が必要です。
例:
params.require(:post).permit(:title, :body)
この検証はよくprivate mehodにまとめられるので
処理を切り出して使いましょう。