プログラミングと旅と映画の日々

普段はスマホ決済サービスの会社でバッグエンドを担当しているエンジニアです。プログラミングと趣味の映画、株、時々うどんに関してブログを書いていこうと思います。海外ドラマ、クロスバイクも好きです。

【Ruby on Rails】RailsのStrong Parametersとは

f:id:takanori5:20180113103312p:plain

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

f:id:takanori5:20180106103545p:plain

parameterを許可してDB登録するには

①requireでPOSTで受け取る値のキーを設定
②permitで許可するカラムを設定

が必要です。

例:

       params.require(:post).permit(:title, :body)

この検証はよくprivate mehodにまとめられるので
処理を切り出して使いましょう。