rb
1class User < ApplicationRecord 2 3 4 before_save { self.email = email.downcace } 5 6 validates :name, presence: true, length: { maximum: 50 } 7 8 VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+.[a-z]+\z/i 9 10 validates :email, presence: true, length: { maximum: 100 }, 11 12 format: { with: VALID_EMAIL_REGEX }, 13 14 uniquness: true 15end
↑こちらはUserモデルにnameカラムとemailカラムに検証内容をに記入した内容です。
検証内容自体は理解できるのですが、2行目の before_save { self.email = email.downcace }の
selfを使う理由がわかりません。
コールバックメソッドの型としてselfを使用する決まりなのか?(そーゆー物と考えるべきか)
これはクラスメソッドとして定義がされているのか?
上記だとすれば何故クラスメソッドを置くのか?
調べた結果、
○ここでのselfはメソッドを呼び出している時点でのユーザーオブジェクトを指している
○クラスメソッドはクラスに施すメソッド
初歩的な内容とは思いますが、教えて抱けると幸いです。
お手数おかけしますが、よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/20 00:11 編集
2020/07/20 00:09