[RUBY] [rails devise] Comment transférer les utilisateurs qui ne sont pas connectés à la page de connexion

Hypothèse: Cette fois, l'opération sera effectuée avec le contrôleur d'articles.

class ItemsController < ApplicationController
  before_action :move_to_signed_in, except: [:index]
  def index
    #Génération de page supérieure
  end

private
  def move_to_signed_in
    unless user_signed_in?
      #Les utilisateurs qui ne sont pas connectés verront la page de connexion
      redirect_to  '/users/sign_in'
    end
  end

Comment utiliser before_action

before_action :move_to_signed_in, except: [:index]

before_action → Une méthode qui peut effectuer le traitement commun spécifié avant que l'action définie dans le contrôleur ne soit exécutée. sauf: [: index] → l'action d'index est exclue -Lorsque d'autres actions sont exécutées à l'exception de l'action d'index, move_to_signed_in est traité. En d'autres termes, lorsque la page d'accueil est affichée, le processus move_to_signed_in n'est pas exécuté.

Contenu d'exécution de move_to_signed_in

def move_to_signed_in
    unless user_signed_in?
      #Les utilisateurs qui ne sont pas connectés verront la page de connexion
      redirect_to  '/users/sign_in'
    end

user_signed_in? → Déterminer si l'utilisateur est connecté à moins que → "sinon" sauf si user_signed_in? → Si l'utilisateur n'est pas connecté redirect_to '/ users / sign_in' → Transit vers la page de connexion

Résumé

Si l'utilisateur tente d'effectuer une action autre que l'action d'index (telle que créer) Déterminez si vous êtes un utilisateur connecté. Si l'utilisateur n'est pas connecté, l'écran passera à la page de connexion (/ users / sign_in). Si vous pouvez vous connecter, vous pouvez effectuer l'action spécifiée par l'utilisateur.

Recommended Posts

[rails devise] Comment transférer les utilisateurs qui ne sont pas connectés à la page de connexion
Comment empêcher les utilisateurs qui ne sont pas connectés de passer à la nouvelle page ou à la page de modification
Mémo qui passe à l'écran de connexion si vous n'êtes pas connecté avec l'appareil
[Rails] Comment obtenir les informations sur l'utilisateur actuellement connecté avec devise
Comment contraindre l'action de la destination de transition lorsqu'elle n'est pas connectée
[Rails] Utilisez le dispositif pour obtenir des informations sur l'utilisateur actuellement connecté
[Rails] Comment enregistrer temporairement l'URL de demande d'un utilisateur qui n'est pas connecté et revenir à cette URL après la connexion
[Rails] Ajouté dans le modèle: nom d'utilisateur non ajouté à la base de données
Comment vérifier les commandes Rails dans le terminal
[Rails] Donnez cet article à vous qui avez recherché "login nom de devise"
Comment implémenter la connexion invité en 5 minutes sur le portefeuille de rails
[Rails] Comment afficher les images dans la vue
Super facile en 2 étapes! Comment installer la devise! !! (version rails 5)
[Rails] Comment afficher les informations stockées dans la base de données dans la vue
Comment résoudre le problème lorsque la valeur n'est pas envoyée lorsque le formulaire est désactivé dans les rails et envoyé
[Rails] Comment utiliser la "devise" des gemmes
[Rails / Routing] Comment faire référence au contrôleur dans votre propre répertoire
[Rails] Comment utiliser l'appareil (Remarque)
[rails] Implémentation de l'écran de connexion dans la devise
[Rails] Comment empêcher la transition d'écran
Que faire lorsque les modifications du servlet ne sont pas reflétées
Que faire si la page Rails n'est pas affichée dans le didacticiel Rails 1.3.2
[Rails] Comment changer le titre de la page du navigateur pour chaque page
Comment installer jQuery dans Rails 6
[Rails 5] Comment afficher l'écran de changement de mot de passe lors de l'utilisation de l'appareil
Comment installer Swiper in Rails
[Ruby on Rails] Comment se connecter avec seulement votre nom et mot de passe en utilisant le bijou
Comment changer l'affichage du menu d'en-tête pour chaque page de transition
Comment mettre à jour les modifications utilisateur dans Rails Devise sans entrer de mot de passe
Comment déboguer le traitement dans le modèle Ruby on Rails avec juste la console
[Rails] La cause de l'impossibilité de publier des messages était form_with
[Rails] Comment appliquer le CSS utilisé dans l'application principale avec Administrer
Comment implémenter la fonctionnalité de recherche dans Rails
Comment changer le nom de l'application dans les rails
Comment insérer une vidéo dans Rails
[Rails] Comment utiliser la méthode de la carte
Comment utiliser MySQL dans le didacticiel Rails
[rails] Comment configurer le routage dans les ressources
Comment obtenir la date avec Java
Comment implémenter la fonctionnalité de classement dans Rails
[Note] Comment utiliser Rails 6 Devise + cancancan
Comment utiliser credentials.yml.enc introduit à partir de Rails 5.2
[Rails] Comment traduire la devise en japonais
Comment résoudre l'erreur'ActionView :: Template :: Error (L'actif "application.css" n'est pas présent dans le pipeline d'actifs. '"Lors de la précompilation d'actifs Rails
[Rails6] Comment connecter la fonction d'affichage générée par Scaffold avec la fonction utilisateur générée par devise
[Rails pour débutants] Spécifiez la destination de la transition après vous être connecté à plusieurs modèles Devise
[Rails] Comment enregistrer plusieurs enregistrements dans la table intermédiaire avec une association plusieurs-à-plusieurs
Comment résoudre les erreurs qui se produisent lors du test d'intégration "Ruby on Rails"
[Erreur] Comment résoudre le phénomène selon lequel l'écran ne passe pas après l'édition