Вы можете использовать button_to
вместо link_to
.
<%= button_to logout_path, method: :destroy %>
button_to
фактически создает отдельный элемент <form>
и, таким образом, прекрасно работает даже без JavaScript.method: :destroy
добавляет скрытый ввод, который используется Rack::MethodOverride
.
При выходе пользователя из системы вы должны сбросить сеанс, а не просто удалить идентификатор пользователя из хранилища сеанса.
def destroy
reset_session
redirect_to login_path
end
Это делает недействительным весь файл cookie для хранения сеанса, а предотвращает фиксацию сеанса .Еще лучше не изобретать колесо аутентификации.