Estoy usando el dispositivo para la autenticación del usuario. En mi opinión, he configurado:
<% if user_signed_in? %>
<li><%= link_to "Log Out", destroy_user_session_path %></li>
<% else %>
<li><%= link_to "Sign In", new_user_session_path %></li>
<% end %>
Sin embargo, cuando hago clic en Log_Out obtengo un error:
Ninguna ruta coincide [GET] "/ users / sign_out"
Sin embargo, cuando reviso mis rutas de rastrillo, obtengo:
devise/sessions#destroy destroy_user_session DELETE /users/sign_out(.:format)
Respuestas
1 para la respuesta № 1Lo que dijo apneadiving.
<%= link_to "Log Out", destroy_user_session_path, method: :delete %>
1 para la respuesta № 2
El cierre de sesión predeterminado es utilizar el método "eliminar". Tu ruta también dice que el método es "BORRAR"
Si quieres usar el método "get"
Modifique devise.rb a
config.sign_out_via = :get
0 para la respuesta № 3
Baloo tiene razón, asegúrese de utilizar el método: delete. Puede ver esto claramente si invoca
rake routes
Verás la ruta y el método.