0

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でどのように連携するかについて少し話すことができますか?

4

1 に答える 1

2

リクエストごとに、フレームワークによってインスタンス化されたコントローラーのインスタンスがあります

そして、はい、サブクラスはメソッドにアクセスできます(実行すると表示されます)。

于 2013-01-22T15:11:57.253 に答える