我正在观看Code School Rails测试课程。有一个名为zombie
的类实例。 zombie
模型有一个方法:
def avatar_url
...
end
在测试中,.rb
文件包含以下内容:
z.avatar_url
- 当我像这样调用一个方法时,Rails如何区分我是在调用控制器还是模型方法?我没有想过从除了控制器之外的其他地方调用模型方法,只有像
Model.method
而不是object.method
。 - 如果我的控制器和模型都有同名的方法,Rails怎么知道要调用哪一个?
更新:
让我们以String类为例,它不是一个模型,对吗?
所以我可以说:
s = String.new
s.capitalize
如果这个调用不是去模型或控制器,它会去哪里呢?比如像 String 这样的类在 Rails 目录下定义在哪里呢?
obj.class
,例如String.class
来查看它继承自哪个类。你可以不断添加.class
以返回到基本的Class
类。 - New Alexandria/lib
中,除非它们依赖于/app
中的模型或其他内容。 - New Alexandria