Railsモデルのメソッドを見ると、ときどきself.method_name
と表示され、時にはmethod_name
と表示されます。どのような違いがあり、いつ使用するかを知るためのガイドはself.
であり、そうでない場合は何ですか?Railsモデルメソッドself。 vs plain
31
A
答えて
43
self.method_nameはクラスメソッドを示します。 method_nameはインスタンスメソッドを示します。
クラスとインスタンスのメソッドについてもっと詳しく読むことができますat this blog post、またはもう少し公式なものをお望みなら、Programming Ruby class section。
24
1)メソッド定義に適用すると、 'self。'それはクラスメソッドになりますが、プレーンはインスタンスメソッドになります。
2)モデルの属性に適用する場合は、属性を変更するときは常に自己を使用することが重要ですが、そうでない場合は必要ありません。例えばので
:upstair答えよりも
def some_method
self.name = new_value # correct
name = new_value # will not change the attribute
end
関連する問題
- 1. Python "self" convention __init__ vs method
- 2. Rails 3、モデルメソッド/計算された属性
- 3. Rails 3 - モデルメソッドによる選択?
- 4. (Ruby、Rails)モジュールとライブラリのSELFのコンテキスト...?
- 5. haml vs haml-rails
- 6. Rails 1 vs. Rails 2のチェックボックス
- 7. Djangoモデルメソッド - create_or_update
- 8. Sails.jsモデルメソッド(非インスタンス)
- 9. rails - モデルメソッド、(PaperClipイメージURLをS3から取得する)
- 10. rails - begin/rescueで複数のモデルメソッドを実行する
- 11. コンソールでrails 3モデルメソッドを呼び出す方法
- 12. 特定の時間にモデルメソッドを呼び出す(Ruby on Rails)
- 13. rails 3 - ビューからモデルメソッドを呼び出す
- 14. Rails - モデルメソッドの多重実行を防止する
- 15. Sinatra vs Rails for webservice
- 16. Helpers vs Controller in Rails
- 17. Rails 3 Search:Searchlogic vs Thinking_Sphinx
- 18. Rails Engine vs. Rackアプリケーション
- 19. Rails Routes vs URLパラメータ
- 20. Railsのコード共有:gem vs plugin vs submodule?
- 21. 使用する宝石:emberjs-rails vs rasputin vs ember-rails?
- 22. Ruby/Railsパフォーマンス:OpenURI vs NET:HTTP vs Curb vs Rest-Client
- 23. Rails 3(Ruby 1.9.2 vs 1.8.6)と(MRI vs REE vs JVM) - コメント/提案?
- 24. はif(self){[self initFOO]} redundant?
- 25. link_to vs url_for対Railsのパス
- 26. watchr vs autotest for rails apps
- 27. モデルメソッドでクエリしますか?
- 28. chomsky hierarchy in plain english
- 29. pgAdmin IIIリストアPLAINバックアップ
- 30. 'plain' jQuery Validate with Unobtrusive
さらに良いです。 – neversion
ポイント2)はナッツを運転していました。ありがとう! –