-1

メール属性を持つモデルユーザーがいるとします。self.email と email を単独で使用できるいくつかのチュートリアルをチェックインしました。両方の違いは何ですか?

4

2 に答える 2

2

Userモデル内のインスタンスメソッドを使用している場合は、どちらも機能しますがemail、それ自体が暗黙的なスコープ定義です。つまり、アプリケーションはローカルemail変数を検索し、次に電子メールメソッド/属性を検索します。self.emailローカル変数の検索を明示的にスキップします。

于 2013-03-22T11:21:57.550 に答える
1

User クラスを使用している場合、さまざまな方法で電子メールにアクセスできます。

  • self.emailユーザースコープにいるとき
  • a_user.emailユーザーを指定した場合
  • emailあなたが User クラスにいるとき。これは、User クラスのすべてのメソッドに有効です。
  • @emailemail関数によって返される変数
  • attributes[:email]ActiveRecord 属性。

このメソッドはすべて、ActiveRecord モデルによって自動的に生成されます。詳細については、ドキュメントを参照してください。

于 2013-03-22T11:27:42.350 に答える