🐈

Rubyで使うprivateについて

2023/04/17に公開

privateって?

privateはRubyのアクセス制御キーワードの一つで、クラスの外からアクセスできないメソッドを定義するために使われる。
private以下に定義されたメソッドは、そのクラスのインスタンスメソッドとして呼び出されることができるが、
そのクラス以外からは呼び出すことができない。
Railsの場合、コントローラー内に定義するメソッドは、全てアクションとして呼び出すことができる。しかし、コントローラーに定義するメソッドの中には、外部から直接呼び出すことが意図されていないメソッドもあある。
たとえば、以下のlist_paramsメソッドのように、ストロングパラメータを定義するためのメソッドは、直接外部から呼び出されることがない。そのため、privateキーワードを用いて外部からの呼び出しを禁止することができる。

  # ストロングパラメータ
  def list_params
    params.require(:list).permit(:title, :body)
  end

Discussion