Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

ストロングパラメーター

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

プライベートメソッド

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

iverson3kobe0824
初学者です。習った学習を復習用で載せます。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away