ストロングパラメーター
ストロングパラメーターとは指定したキーを持つパラメーターのみを受け取るようにする
特定のキーしか受け取れないような仕組みを構築することができる
プライベートメソッド
クラス外から呼び出すことのできないメソッド
ストロングパラメーターを記述したメソッドは、private以下に記載して、プライベートメソッドとして扱う
【例】プライベートメソッド
class PostsController < ApplicationController
def index
(処理)
end
def new
(処理)
end
def create
(処理)
end
private
def private_method # プライベートメソッド
params.require(`モデル名`).permit(`カラム名`)
end
end
def create
Post.create(post_params)
end
private
def post_params
params.require(:post).permit(:title, :text, :image)
end
みたいな感じで記述する。privateのpost_paramsはcreateのpost_paramsに代入される
1.Classの外部から呼ばれたら困るメソッドを隔離
メソッドの中には、Classの外部から呼び出されてしまうとエラーを起こすメソッドも存在し、そのような事態を事前に防ぐことができる
2.可読性
classの外部から呼び出されるメソッドを探すときに、private以下の部分は目を通さなくて良くなり、繰り返し使用するメソッドもprivate以下に集約できますので、コードをシンプルにできる