添加路由到Ruby on Rails Spree Commerce应用程序?

时间:2014-01-26 11:05:02

标签: ruby-on-rails ruby spree

我安装了以下相关宝石:

gem 'spree', github: 'spree/spree', branch: '2-1-stable'
gem 'spree_auth_devise', :git => 'https://github.com/spree/spree_auth_devise.git', 
:branch => '2-1-stable'
使用spree_auth_devise的Spree Commerce中的

A known problem(?)就是当您在管理页面上单击注销链接时它不起作用。您收到以下错误:

ActionController::RoutingError (No route matches [GET] "/store/user/spree_user
         /logout"):

我正在尝试解决此错误。我知道路由[root] / logout工作并提供正确的注销。现在我正在尝试将上述无效的链接重定向到[root] / logout(当您从管理页面执行/ logout get请求时,它工作正常)。 / logout路由到spree/user_sessions#destroy

routes.rb我尝试添加以下内容:

Spree::Core::Engine.routes.prepend do
    get 'user/spree_user/logout', :to => 'spree/user_sessions#destroy'
end

但仍然会出现同样的错误。

如何正确地将路径user / spree_user / logout路由到工作注销操作?

1 个答案:

答案 0 :(得分:1)

我在一个项目中遇到了同样的问题,在这个项目中,挖掘它并不符合成本效益。我通过添加重定向来修复它:

match "/store/user/spree_user/logout", :to => redirect('/store/logout')

'store'是你的狂欢根。