, 즉 사용자 후 쇼핑 카트에 무언가를 추가하고 레일이 세션의 복구하고, 사용자가 가 지금은 ... 더 쇼핑을 재개 한 후 브라우저 (가까이) 떠나 내가 할 수있는 방법 등브라우저를 닫은 후 세션을 활성 상태로 유지하십시오.
class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :current_cart
private
def current_cart
Cart.find(session[:cart_id])
@cart = Cart.find(session[:cart_id])
rescue ActiveRecord::RecordNotFound
cart = Cart.create
session[:cart_id] = cart.id
cart
end
end
그리고 주문 후 파괴 :
def destroy
@cart = current_cart
@cart.destroy
session[:cart_id] = nil
respond_to do |format|
format.html { redirect_to session[:prev_url],
:notice => I18n.t(:empty_card) }
format.json { head :ok }
end
end
하지만이 세션을 계속 유지하려면 RoR에게 어떻게 알릴 수 있습니까?
세션 쿠키를 보존해야하지만 일반적으로 그렇게하는 것은 좋지 않습니다. 쿠키 기반 기술을 대신 사용하십시오. –
@ semir.babajic 예를 들어 세션 [: cart_id] = cart.id를 쿠키 [: cart_id] = cart.id로 변경하면 이전과 같이 대부분의 기능을 사용할 수 있습니까? 어떻게하면 카트를 복원 할 수 있습니까? – brabertaser19
카트에 대한 사본을 데이터베이스에 보관하고 사용자를 참조하십시오. – MiniRagnarok