ストロングパラメータの簡単なサンプル
読んだもの
学んだこと
- Railsではストロングパラメータを必ず使う
- フォームの受け渡しなどで使わないとエラーになる(警告)
ストロングパラメータの基本的な書き方
params.require(:user).permit(:name, :email, :password)
やっていること
以下の二つ。 1. requireでPOSTで受け取る値のキーを設定している 2. permitで許可するカラムを設定している
上の例ではname, email, password属性の値だけDBに入れるのを許可している。
サンプルコード
実際に書くときはこんな感じ。
task_controller.rb
class TasksController < ApplicationController def index @tasks = Task.all end def show @task = Task.find(params[:id]) end def update @task = Task.find(params[:id]) if @task.update(task_params) redirect_to @task else flash.now[:danger] = 'Message は更新されませんでした' render :edit end end private # ストロングパラメータ def task_params params.require(:task).permit(:content) end end