我已经覆盖了设计 SessionController:
在 app/controllers/customers/sessions_controller.rb
class Customers::SessionsController < Devise::SessionsController
before_filter :destroy_cart, only: :destroy
def destroy_cart
cart = Cart.find(current_client.cart.id)
cart.destroy
end
end
但是购物车永远不会被破坏,即使我直接覆盖destroy方法并super
在我的代码之后添加,购物车仍然存在,在数据库中(我知道我可以只创建一次购物车并在用户再次登录时获取它或在他第一次使用该应用程序时创建一个新应用程序,但我现在想尝试这种方式),就像没有在那个 SessionController 上阅读我的代码一样。
出于某种原因,即使我有这种看法:
app/views/customer/registrations
我对该视图所做的更改仅在我将其更改为时才会反映
app/views/devise/registrations
我的 routes.rb 是:
devise_for :clients, :controllers => { sessions: 'customers/sessions'}
devise_scope :client do
root to: "customers/Sessions#new"
end
我与设计一起使用的模型是Client
为什么我不能在设计控制器中销毁购物车?如果文档说我可以/必须这样做,为什么我不能使用视图/客户/会话?
谢谢你的阅读。