在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'。将使其成为一种类方法,而plain将成为一种实例方法。
2)当应用于模型中的属性时,在更改属性时始终使用self很重要,否则不需要它。
因此,例如:
def some_method
self.name = new_value # correct
name = new_value # will not change the attribute
end
相关问题
- 1. Django中的“self”模型方法
- 2. text/plain vs text/javascript
- 3. Benchmarking Rails模型方法
- 4. Plain Servlet vs Spring MVC
- 5. 揭示类模式vs原型方法?
- 6. Rails:模型中的方法链接
- 7. Rails自定义模型方法
- 8. 在rails中的模型更新方法
- 9. Rails模型的常见方法订单
- 10. Meta_Search Rails - 搜索我的模型方法
- 11. Rails模型:受保护的方法?
- 12. rails:在模型中收起长方法
- 13. rails其他模型方法中的current_model
- 14. Rails 3添加ActiveRecord模型方法
- 15. Rails中的模型的辅助方法
- 16. Rails模型关联和销毁方法
- 17. Rails:向ActiveRecord模型添加方法
- 18. Rails的模型方法失败
- 19. Rails的模型方法rspec的试验
- 20. Django:模型中的方法vs视图中的方法
- 21. 覆盖保存方法vs模型方法?
- 22. 为什么使用“self”访问ActiveRecord/Rails模型属性?
- 23. Rails - 从ActiveRecord模型中访问模型类方法
- 24. 对象方法vs原型方法
- 25. 在Rails模型中调用方法时未定义的方法
- 26. 概念模型vs逻辑模型vs规范模型
- 27. Ruby/Rails中的类方法vs常量
- 28. ActiveRecord Rails 3范围vs类方法
- 29. Ruby Rails - 保存vs更新的方法
- 30. Ruby on Rails实例vs类方法
甚至比楼上的回答更好。 – neversion 2016-10-10 01:41:30
点2)让我疯狂。谢谢! – 2016-11-15 10:15:34