2016-07-10 2 views
0

나는 Rails 4를 사용하여 Agile Development라는 책을 다뤘다. 나는 heroku를 사용하여 앱을 배포했다. 관리자 만 로그인 할 수 있으므로 계정을 만들지 않고도 장바구니를 만들어 주문을 제출할 수 있습니다. 나는 내가 배치 한 웹 사이트에서 내 노트북에 장바구니를 만들 때 내 바탕 화면으로 갈 때 카트가 동일하다는 것을 알게되었습니다. 따라서 모든 세션에서 id = 20이라고 표시된 장바구니가 하나 있습니다. 이것은 분명히 문제입니다. 나는 그것이 current_cart에 대한 나의 모듈과 관련이 있다고 생각하지만 확신 할 수 없다.Rails 전자 상거래 사이트 세션

module CurrentCart 
    extend ActiveSupport::Concern 
    private 
     def set_cart 
     @cart = Cart.find(session[:cart_id]) 
     rescue ActiveRecord::RecordNotFound 
     @cart = Cart.create 
     session[:cart_id] = @cart.id  
     end 
end 

그런 다음 저장소, 광고 주문, 광고 항목 및 카트 컨트롤러에 포함 된 현재 CurrentCart 및 이전 _action : set_cart를 사용하십시오. 각 세션을 각 컴퓨터와 연결하고 브라우저를 닫을 때 끝내고 싶습니다. 브라우저 설정에 따라 다를 수 있습니다. 나는이 정보가 데이터베이스에 저장되어 카트가 삭제 될 때까지 cart_id가 계속 유지되기 때문에 이런 일이 발생할 수도 있다고 생각합니다. 어떤 도움을 주시면 감사하겠습니다.

답변

0

프로덕션 환경에서의 캐싱 때문이었습니다. config.action_controller.perform_caching = false를 변경했습니다. 이제 작동합니다.

관련 문제