提问人:noloman 提问时间:8/10/2023 更新时间:8/10/2023 访问量:48
Ruby on Rails:注销不适用于用户设计
Ruby on Rails: sign out isn't working for devise with User
问:
我有以下路线:
我正在开发一个运动跟踪应用程序,我想为当前登录的用户提供。这是我的文件: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
我设置设计的方式有问题吗?
谢谢!
答:
1赞
Alex
8/10/2023
#1
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
评论
0赞
noloman
8/11/2023
使用修复它,非常感谢!我将继续阅读 Devise 的 Hotwire 更新:)button_to
上一个:从视图引用自定义资源路径
评论