Ruby on Rails中没有名称的方法定义

时间:2009-11-21 07:34:26

标签: ruby-on-rails ruby

我最近查看了rails项目中控制器的示例代码,其中包含类中的方法定义,而不定义方法的名称,如下所示:

def begin
  redirect_to :action => :buy, :PaymentAction => params[:paymentaction]
rescue Errno::ENOENT => exception
  flash[:error] = exception
  redirect_to :controller => 'wppro', :action => 'exception'  
end

这是在rails中定义构造函数的方法吗?

1 个答案:

答案 0 :(得分:4)

在这种情况下,begin只是方法的名称;它与用于处理异常的begin ... rescue语法无关(其中begin有时是可选的)。 foo.begin也是调用此方法的有效语法。

由于我们在Rails控制器内,begin还是一个动作的名称。

使用initialize实例方法定义构造函数。