Ruby on Rails:注销不适用于具有用户设计

jfgube3f  于 2023-10-18  发布在  Ruby
关注(0)|答案(1)|浏览(136)

我有以下路线:我正在开发一个运动跟踪应用程序,我想有tracked_exercises为当前登录的用户。这是我的routes.rb文件:

Rails.application.routes.draw do
  resources :exercises
  devise_for :users
  resources :users do
    resources :tracked_exercises
  end
  root to: 'exercises#index'
end

然而,当我试图用<%= link_to "Logout", destroy_user_session_path, method: :delete, class: "navbar-link" %>注销当前用户时,我首先遇到一个错误,说Uninitialized constant UsersController
然后在创建它之后,结果是重定向将用户指向users/show,并且在有了这个控制器之后,注销永远不会工作:

class UsersController < ApplicationController
  def show
    redirect_to root_path
  end
end

我设置devise的方式有什么问题吗?
谢谢你,谢谢

abithluo

abithluo1#

method: :delete for links是Rails UJS的一部分。

<%= link_to "Logout", destroy_user_session_path,
  data: {turbo_method: :delete}
%>

# or better use a form
<%= button_to "Logout", destroy_user_session_path,
  method: :delete
%>
  • https:github.com/heartcombo/devise#hotwireturbo*

相关问题