LoginSignup
1
1

More than 1 year has passed since last update.

private と protected [Ruby on Rails]

Last updated at Posted at 2021-07-24

"private"と"protected" について

使用例

applicationcontrolle.rb
   def update
     @user.update(user_params)
     redirect_to users_path(@user)
   end

private
    def user_params
      params.require(:user).permit(:name, :introduction, :profile_image)
    end
userscontroller.rb
 protected
  def after_sign_in_path_for(resource)
    user_path(current_user)
  end

説明

 いずれも、データベースにあるデータを書き換えるときに必要な記述になります。
Rubyは安全性を考慮し、外部からデータを変えられないようになっています。いずれかの記述をすることで、データの変更が可能になります。

「private」と「protected」の違い

・「private」は、自分だけが変更できる。
・「protected」は、自分と仲間(同じクラスのインスタンスに加え子孫クラスのインスタンス)が変更できる。
データを守る強度が、「private > protected」になります。
基本はprivateを使っておけば問題ありません。

今回出てきた単語について

・???_params
after_sign_in_path_for(resource)

1
1
0

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
1
1