Používam zariadenie na autentifikáciu používateľa. Podľa môjho názoru som nastavil:
<% 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 %>
Avšak keď kliknem na Log_Out, zobrazuje sa mi chyba:
Žiadna trasa sa nezhoduje [GET] „/ users / sign_out“
Keď však skontrolujem svoje trasy na trase, dostávam:
devise/sessions#destroy destroy_user_session DELETE /users/sign_out(.:format)
odpovede:
1 pre odpoveď č. 1Čo povedal apneadiving.
<%= link_to "Log Out", destroy_user_session_path, method: :delete %>
1 pre odpoveď č. 2
Predvolené odhlásenie je použitie metódy „odstrániť“. Vaša trasa tiež uviedla, že metóda je „ODSTRÁNIŤ“
Ak chcete použiť metódu „get“
Upraviť devise.rb na
config.sign_out_via = :get
0 pre odpoveď č. 3
Baloo má pravdu, nezabudnite použiť metódu: delete. Ak sa dovoláte, môžete to jasne vidieť
rake routes
Uvidíte cestu aj metódu.