我来自PHP背景,我习惯用$ this-> methodName()调用类的内部方法,但我似乎无法找到在Rails中执行相同操作的语法。我想在控制器中执行以下操作:
class Foo
def bar
#call self.baz
end
def baz
#some code
end
end
方法调用的正确语法是什么?另外,如果有一个学习Ruby / Rails基本语法的好地方,请分享。我发现只是试图找到简单的语法功能令我感到沮丧。
答案 0 :(得分:1)
仅使用baz
或self.baz
。 self
相当于PHP中的$this
。
答案 1 :(得分:1)
Ruby的语法非常简单 - 只需在对象上调用.method_name
:
foo = Foo.new
foo.bar # calls bar on foo
在方法定义self
(Rubyists称之为“接收者”)是隐式的,所以只需使用方法名称:
def bar
baz # calls Foo#baz
end
你也可以明确地使用self
来做同样的事情:
def bar
self.baz # also calls Foo#baz
end
可以找到对Ruby语法的一个很好的介绍here。