ショッピング カートの Rails の例を見ていると、ApplicationController クラスに次のようなコードが表示されます。
class ApplicationController < ActionController::Base
protect_from_forgery
private
def current_cart
Cart.find(session[:cart_id])
rescue ActiveRecord::RecordNotFound
cart = Cart.create
session[:cart_id] = cart.id
cart
end
end
したがって、Cart.find(session[:cart_id])を使用しています
次に、carts_controller.rb と CartController クラスに移動すると、次のようなコードが表示されます。
def update
@cart = Cart.find(params[:id])
respond_to do |format|
ここではCart.find(params[:id])を使用しています
しかし、AppController でパラメーターを渡すためにセッションを使用した理由がわかりませんが、CartController で通常のパラメーターを使用し、swithc でそれらを使用できますか? それともレールがどのように機能し、常にセッションがAppControllerに行くのですか? 誰かがこれをより詳細に説明できれば素晴らしいでしょう