没有路由匹配[GET]“/ users/sign_out”** Rails 5/Bootstrap 4 **

问题描述:

我在使用Devise的现有应用中运行Rails 5并将Bootstrap更新为版本4。没有路由匹配[GET]“/ users/sign_out”** Rails 5/Bootstrap 4 **

更新Bootstrap之前,路由工作正常。现在,当用户选择登出,他们收到以下消息:

无路由匹配[GET]“/用户/ SIGN_OUT”

这里是标头码的一部分:

<% if current_user %> 
    <a class=<%= link_to 'Classes', tracks_path %></a> 
    <a class=<%= link_to 'Edit profile', edit_user_registration_path %></a> 
    <a class=<%= link_to 'Sign out', destroy_user_session_path, method: :delete %></a> 

而且耙路线显示:

destroy_user_session DELETE /users/sign_out(.:format)设计/会话#破坏

是否有更改Bootstrap 4会引发此错误的原因?我遵循Bootstrap回购安装的所有说明。

+0

见https://*.com/questions/7465919/rails-link-to-method-geting-when-it-should-delete – Jaxx

的问题是你呈现你的链接标签类属性:

<a class=<%= link_to 'Sign out', destroy_user_session_path, method: :delete %></a> 

这样的结果而忽略您指定method: :delete畸形输出。这是你在找什么:

<%= link_to "Sign out", destroy_user_session_path, 
    method: :delete, class: 'nav-link' %>