RailsのStrong Parametersについて


Ruby on RailsのStrong Parametersについての紹介です。

🚌 基本形

params.require(key).permit(filter)
変数 説明
key Strong Parametersの対象となるparamsのキー
filter Strong Parametersで許可するカラムを指定

🎉 利用例

# 指定したカラムだけ取得
article_params = params.require(:article).permit(:title, :content)
# ネストしたパラメータを取得
article_params = params.require(:article).permit(:title, :content, comments: [:user_id, :content])
# articleがない場合にエラーを出さないようにする
article_params = params.fetch(:article, {}).permit(:title, :content)

🐞 許可されないパラメータが渡された場合にエラーを出す

environments/xxxに次の設定を追加することでActionController::UnpermittedParametersエラーを出すようにできます。

config.action_controller.action_on_unpermitted_parameters = :raise

😎 参考リンク

📚 おすすめの書籍