Ruby の優れたコーディング スタイルを取得しようとしています。同じ名前のローカル変数を誤って呼び出すのを防ぐために、私は常にself.
適切な場所で使用しています。しかし今、私はこれにつまずいた:
class MyClass < ActiveRecord::Base
before_validation :sanitize_user_data
private
def sanitize_user_data
self.sanitize_name # with ".self" it's a problem, without it's not!
end
def sanitize_name
unless self.name.nil?
self.name.gsub!(/\s+/, ' ')
self.name.strip!
end
end
end
上記のコードはエラーになります
sanitize_name
呼び出されたプライベートメソッド
しかし、削除self.
して使用するだけsanitize_name
で機能します。なぜですか?