没有路由匹配[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回购安装的所有说明。
答
的问题是你呈现你的链接标签内类属性:
<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' %>
见https://stackoverflow.com/questions/7465919/rails-link-to-method-geting-when-it-should-delete – Jaxx