我正在查看一个示例 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 中协同工作吗?