Ruby on Rails: ユーザーのデバイスでサインアウトが機能しない
概要
次のルートがあります。 私は運動追跡アプリを開発していて、現在ログインしているユーザーに対して 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” %> を使用して現在のユーザーをログアウトしようとすると、最初に「初期化されていない定数 UsersController」というエラーが発生します。 次に、それを作成した後、リダイレクトがユーザーをユーザー/ショーにポイントしていることがわかり、このコントローラーを使用した後、ログアウトが機能しません。
class UsersController < ApplicationController
def show
redirect_to root_path
end
end
私のデバイスの設定方法が間違っているのでしょうか?
ありがとう!
解決策
リンクのメソッド: :delete は 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://translate.google.com/translate?hl=ja&sl=en&tl=ja&u=https://github.com/heartcombo/devise#hotwireturbo