[RUBY] [Rails] Comment modifier et personnaliser les vues et les contrôleurs de conception

introduction

Comment modifier et personnaliser les vues de conception et les contrôleurs

Après avoir présenté la devise, je veux préparer une vue qui semble terne et qui n'est qu'en anglais. Vous devez modifier et personnaliser le contrôleur de périphérique. Je présenterai brièvement la méthode dans un tel cas.

table des matières

  1. Prémisse
  2. Modifiez le fichier de configuration de devise.rb
  3. Génération / personnalisation du générateur
  4. Générer / modifier le fichier de vue
  5. Résumé

Environnement de développement

ruby 2.6.5 rails 6.0.0 devise 4.7.3

1. Prémisse

appareil installé modèle généré Le routage est défini partout

la mise en oeuvre

Mettons-le en œuvre.

2. Modifiez le fichier de configuration de devise.rb

Ouvrez config / initializers / devise.rb. Activez config.scoped_views.

config/initializers/devise.rb



  # ==> Scopes configuration
  # Turn scoped views on. Before rendering "sessions/new", it will first check for
  # "users/sessions/new". It's turned off by default because it's slower if you
  # are using only default views.
  config.scoped_views = true #← La valeur par défaut est false#

Redémarrez le serveur Rails.

3. Générer / modifier le fichier du contrôleur

Générez un contrôleur de périphérique.

$ rails g devise:controllers users

La conférence à ce moment rails g devise: nom du modèle des contrôleurs est. Cette fois, le modèle de périphérique est défini sur utilisateur, je vais donc utiliser ce nom (bien que je le définisse sur utilisateur). app > controllers > users > Vous aurez un fichier sous. スクリーンショット 2020-10-10 11.27.44.png Par exemple, si vous souhaitez personnaliser le contrôleur lié à l'enregistrement des utilisateurs, modifiez le fichier registrations_controller.rb.

Une chose à noter ici est les paramètres de routage. Décrit dans le routage

[Nom du contrôleur] # [Nom de l'action] Et le réel [Contrôleur] # [Action]

Si c'est différent, c'est naturel, mais ça ne marche pas. Par conséquent, il est recommandé de le vérifier attentivement avec les voies ferrées, etc.

4. Générer / modifier le fichier de vue

Générez et modifiez le fichier de vue de l'appareil.

$ rails g devise:views

app > views > devise > Un dossier sera créé directement sous devise.

スクリーンショット 2020-10-10 11.04.57.png

Par exemple, si vous souhaitez modifier l'écran d'enregistrement, modifiez le fichier dans le répertoire des enregistrements.

La chose à noter ici est le nom du fichier de vue. En conception, si vous ne spécifiez pas la destination de la transition avec render ou redirect_to, elle passera au nom de la méthode après le traitement du contrôleur. Vous devez donc faire correspondre chaque nom.

5. Résumé

Introduction de la génération / personnalisation du contrôleur et de la génération / édition des fichiers de vue. L'utilisation du contrôleur de périphérique présente l'avantage que les fonctions dont il dispose par défaut peuvent être utilisées automatiquement. Cependant, d'un autre côté, même si vous faites une erreur, l'appareil fonctionnera dans les coulisses, vous ne vous comporterez donc pas comme vous le souhaitez et vous n'obtiendrez pas d'erreur. Pour cette raison, il est recommandé de prêter attention à la manière dont le routage, les contrôleurs et les vues sont suivis.

finalement

Je suis un débutant en programmation, mais je publie un article dans l'espoir qu'il aidera ceux qui veulent devenir ingénieurs aussi bien que moi-même. A la prochaine fois ~

Recommended Posts

[Rails] Comment modifier et personnaliser les vues et les contrôleurs de conception
[Rails] Comment utiliser la "devise" des gemmes
[Rails] Comment utiliser l'appareil (Remarque)
[Note] Comment utiliser Rails 6 Devise + cancancan
[Attention !!] Précautions lors de la conversion de la devise Rails et de l'affichage des fichiers en haml
[Rails] Comment traduire la devise en japonais
Comment séparer .scss par contrôleur dans Rails
Comment créer une API avec GraphQL et Rails
[Rails] Comment émettre des messages de réussite et d'erreur
Comment écrire des rails
[Rails] Personnaliser la validation de l'appareil
[Rails] Comment charger JavaScript dans une vue spécifique
(Ruby on Rails6) Comment créer un modèle et une table
[Rails] Comment afficher les images dans la vue
[Rails] Comment utiliser enum
Comment lire les itinéraires des rails
Relation entre le contrôleur et la vue
Comment utiliser la jonction de rails
[Rails] Ajouter une colonne à concevoir
Comment terminer le serveur de rails
Comment écrire des graines de Rails
[Rails] Comment désactiver les turbolinks
[Rails] Comment utiliser authenticate_user!
[Rails] Comment mettre en œuvre le scraping
[Rails] Comment faire des graines
Comment écrire le routage Rails
[Rails] Comment installer simple_calendar
[Rails] Comment installer reCAPTCHA
[Rails] Comment utiliser Scope
Comment utiliser OpenCV 4 sur Android et afficher la vue en direct de la caméra
[Rails] Comment définir des macros dans Rspec et standardiser le traitement
[Rails] Différentes différences entre redirect_to et méthode de rendu et méthode de sortie de la méthode de rendu
Comment définir et décrire des variables d'environnement à l'aide de Rails zsh
Super facile en 2 étapes! Comment installer la devise! !! (version rails 5)
Comment exécuter React et Rails sur le même serveur
[Rails] Comment afficher les informations stockées dans la base de données dans la vue
Comment utiliser StringBurrer et Arrays.toString.
[Rails / Routing] Comment faire référence au contrôleur dans votre propre répertoire
[Rails] Comment utiliser les messages flash
[Rails] Comment obtenir l'URL de la source de transition et la rediriger
[rails] Comment afficher les informations de base de données
Comment utiliser EventBus3 et ThreadMode
Comment "évider" une vue sur Android
[Rails] Comment empêcher la transition d'écran
[Webpacker] Résumé de l'installation de Bootstrap et jQuery dans Rails 6.0
Comment utiliser Ruby on Rails
Comment déployer Bootstrap sur Rails
Comment appeler des classes et des méthodes
[Rails] Comment accélérer la composition de docker
Comment utiliser l'égalité et l'égalité (comment utiliser l'égalité)
[Rails] Comment ajouter de nouvelles pages
Comment connecter Heroku et Sequel
[Rails] [Devise] Modifier le profil sans saisir de mot de passe
[Rails] Comment écrire la gestion des exceptions?
[Rails] Comment télécharger des images sur AWS S3 à l'aide de Carrierwave et de fog-aws