LoginSignup
2

More than 3 years have passed since last update.

ストロングパラメーター、プライベートメソッドとは

Last updated at Posted at 2020-02-27

ストロングパラメーター

ストロングパラメーターとは指定したキーを持つパラメーターのみを受け取るようにする
特定のキーしか受け取れないような仕組みを構築することができる

プライベートメソッド

クラス外から呼び出すことのできないメソッド
ストロングパラメーターを記述したメソッドは、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以下に集約できますので、コードをシンプルにできる

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2