Rubyを学び始めたとき、MichaelHartlの優れたRailsチュートリアルから始めました。チュートリアルをもう一度見てみると、サンプルアプリケーションコードの一部が変更されていることに気づきました。認証の章では、2つの方法が変更されました。
# SessionsHelper
def sign_in(user)
...
self.current_user = user
end
def sign_out
self.current_user = nil
...
end
以前は、キーワードself
は省略されていました。しかし、アプリは機能しました。それで、それが壊れていないのなら、なぜそれを修正するのですか?どのような付加価値がself
あり、なぜそれが使用されるのですか?
self
インスタンスメソッドではなくクラスメソッドを定義していることを理解しています。また、モデルでは、を使用self
すると、オブジェクトのプロパティを直接参照できます。しかし、ドットを結び付けて、ヘルパーでどのように使用されているかを確認することはできません。以前にコントローラーで見たことがありますが、なぜそこで使用したいのか理解できません。