控制器中的方法

时间:2013-01-22 15:06:59

标签: ruby-on-rails

我正在查看示例Rails应用程序并看到一些奇怪的事情。对我来说很奇怪,因为我过去的经验是用C#。

所以在ApplicationController我有一个像这样的“私人”方法:

 private

    def current_cart 
      Cart.find(session[:cart_id])
    rescue ActiveRecord::RecordNotFound
      cart = Cart.create
      session[:cart_id] = cart.id
      cart
    end

然后在orders_controller课程中我有另一种方法,在它的主体中它说的是:

def new
   @cart = current_curt
// ....
end

发生什么事了?这是私人的,但我们可以访问它?我们在访问它之前不需要创建它的实例吗?有人可以谈谈控制器中的方法如何在Rails中协同工作?

1 个答案:

答案 0 :(得分:2)

控制器的一个实例,由框架按请求实例化。

是的,子类可以访问该方法(正如它将显示的运行)。