在sign_out上设计错误没有路由匹配[GET]" / users / sign_out"

时间:2014-04-09 12:53:37

标签: devise ruby-on-rails-3.2

我对生成的链接有疑问:

<%= link_to('Logoff', destroy_user_session_path, :method => :delete) %>

正在与一些用户合作,并且正在返回

No route matches [GET] "/users/sign_out"

为他人。那个[GET]如何进入那里,我不知道......

上下文:rails 3.2.16 application.js包括

//= require jquery
//= require jquery_ujs
//= require rails.validations
//= require foundation
//= require_tree .

资产/ javascripts上有jquery.js文件 但是该文件夹中有一个jquery.foundation.tabs.js。

我宁愿不覆盖devise以允许获取destroy_user_session,因为它是不推荐的。

关于SO的所有答案似乎都有解决方案,不适用于这种情况......

更新

的routes.rb

devise_for :users

namespace :admin do
  resources :users do
    collection do
      get :indexmio
      get :new_struttura
      get :new_admin_existing
      get :new_manager
      get :new_buyer
      get :new_buyer_existing
      get :new_manager_existing
      get :search_user
      get :result_user
      get :newsuser
      post :newsuser
      post :create_buyer
    end
  end
end

更新2 HTML代码也是正确的:

<a href="/users/sign_out" data-method="delete" rel="nofollow">Exit</a>

1 个答案:

答案 0 :(得分:0)

路由错误:

  

没有路线匹配[GET]&#34; / users / sign_out&#34;

为了克服此错误,我更改了config/initializers/devise.rb中的配置。

替换

config.sign_out_via = :delete  

config.sign_out_via = :get