2016-07-10 12 views
0

私は、Agile Development with Rails 4を使って作業しました。私はherokuを使用してアプリを配備しました。私は管理者のログイン機能しか持っていないので、誰もカートを作成してアカウントを作成せずに注文を出すことができます。私は配備されたウェブサイト上のラップトップにカートを作成すると、デスクトップに行くときにカートが同じであることに気付きました。したがって、すべてのセッションでid = 20というカートが1つ共有されています。これは明らかに問題です。私はcurrent_cartのために私のモジュールと関係があると思うが、確かではない。Rails eコマースサイトのセッション

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 

次に、ストア、オーダー、広告申込情報、およびカートのコントローラーで、Incluc CurrentCartとbefore_action:set_cartを使用します。私は各セッションを各コンピュータに関連させ、ブラウザを閉じると終了したいと思います。ブラウザの設定によって異なることがわかります。私はカート内の情報がデータベースに保存されているので、カートが削除されるまでカートIDが保持されているので、これも起こっている可能性があります。どんな助けもありがとう。

答えて

0

これは製造時のキャッシュによるものです。私はconfig.action_controller.perform_caching = falseを に変更しました。

関連する問題