Rails中调用方法的语法3

时间:2012-03-01 20:34:05

标签: ruby-on-rails-3 methods

我来自PHP背景,我习惯用$ this-> methodName()调用类的内部方法,但我似乎无法找到在Rails中执行相同操作的语法。我想在控制器中执行以下操作:

class Foo

  def bar
   #call self.baz
  end

  def baz
    #some code
  end

end

方法调用的正确语法是什么?另外,如果有一个学习Ruby / Rails基本语法的好地方,请分享。我发现只是试图找到简单的语法功能令我感到沮丧。

2 个答案:

答案 0 :(得分:1)

仅使用bazself.bazself相当于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