我正在查看示例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中一起工作的問題嗎?
看看這個問題:http://stackoverflow.com/questions/3534449/why-does-ruby-have-both-private-and-protected-methods。基本上'private'方法可用於子類,它更像其他語言中的'protected'。 –