我讀完這本書的敏捷web開發與軌道,任務四時,我感到非常困惑。如何使用:cart_id按會話查找當前購物車?
我知道基類中的current_cart方法可以通過會話找到目標購物車。但是,我不知道sysbol:card_id來自哪裏。
當lineItemController調用current_cart方法時,cart_id的值是什麼?
更重要的是,我已經運行了常見的「rails generate scaffold line_item product_id:integer cart_id integer」。這兩種cart_id有什麼關係?
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
':card_id'只是一個關鍵;一個符號。類似於一個字符串。這只是在稍後的會話哈希中識別您的'cart.id'的一種方式。 – Sirupsen