L'essentiel de Ruby on Rails

Modifier les vues de Devise

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Découvrez de quelle manière modifier les formulaires de Devise pour saisir davantage d'informations de profil.
05:43

Transcription

Cette vidéo va vous présenter comment modifier les vues que vous pouvez observer dans l'authentification et l'inscription générée par Devise. Pour générer des fichiers de vues, il suffit d'exécuter la commande rails generate devise:views. Cela aura pour effet de générer l’ensemble des vues sur lesquelles vous pourrez agir pour pouvoir, notamment, modifier des formulaires de créations de comptes. Remarquez que la génération a, également, généré les vues des emails, si jamais il vous venait l’envie de les modifier. Nous retrouvons toutes ces vues dans le dossier app, views, devise. Nous pouvons, par exemple, accéder au formulaire de création de comptes, à l’intérieur des registrations, new. Une des premières choses que vous pouvez remarquer, est que le formulaire utilise, automatiquement, simple_form_for. Ceci est lié au fait que ce sont les mêmes développeurs, qui ont créé Devise et Simple form. Ils se sont, du coup, arrangés pour que Devise utilise, automatiquement, Simple form. Nous allons rajouter ici, les informations pour les prénoms et les noms que nous avions dans la page de profile, précédemment, dans notre application. Maintenant, que nous avons remis ces champs, nous pouvons remettre les validations, au sein de notre modèle users. Reste le problème de l’autorisation des modifications de Firstname et Lastname. Si vous cliquez ici, puis que vous allez voir à l’intérieur des logs de votre serveur, vous verrez que celui-ci n’est pas très content. Il vous indique qu’il y a des paramètres dont les modifications ne sont pas permises. Heureusement, la documentation de Devise embarque la solution. La documentation nous propose d’ajouter ce before_action à l’intérieur d’ApplicationController. Ensuite, dans la méthode configure_permitted_parameters, nous pouvons utiliser devise_parameter_sanitizer.permit, ici, sign_up, qui permettra de modifier les attributs pour la création de comptes, puis de rajouter ici, la liste de nos attributs qui nous sont propres. Rajoutons, donc, ces lignes de codes au sein de notre fichier ApplicationController. Remarquez ici, que j’ai mis les clés firstname et lastname correspondantes aux attributs de notre modèle user. Si vous re-testez la soumission du formulaire d’inscription, vous verrez que la ligne unpermitted parameters a disparu. Maintenant, que nous pouvons renseigner le prénom et le nom de notre utilisateur à la création du compte, nous pouvons personnaliser, aussi, un peu, la page d’accueil. Rajoutons ici, if user_signed_in pour tester si l’utilisateur est actuellement connecté. Sinon, on va juste dire « Bonjour ». Et s’il est connecté, nous affichons son prénom. Current user est une méthode helper définie dans un controller de Devise, qui est accessible, du coup, depuis nos vues. N’oublions pas, aussi, de lui dire « Bonjour ». Nous pouvons, d’ailleurs, réitérer ce code de façon plus concise, comme ceci. Reste à nous attaquer au formulaire d’édition du profil. Celui-ci se retrouve dans le fichier edit. Il fonctionne, quasiment, de la même manière que le fichier new. Rajoutons les champs de profil. N’oubliez pas, ici, de remplacer @user par current_user. Si comme moi, vous avez fait un copier-coller depuis votre fichier profile, n’oubliez pas, aussi, de remplacer, ici, form par f. Une fois fait, vous pouvez rafraîchir la page. Cependant, nous ne voyons pas les informations pour renseigner, à la fois les données du profil, et pour renseigner un avatar. Comment faire ? Nous pourrions utiliser, de nouveau, la documentation de Devise qui présente comment écraser des controller de Devise, pour effectuer des actions spécifiques. Par exemple, nous pourrions initialiser le profil et l’avatar de l’utilisateur dans le controller, Registrations controller. Faisons cela. Nous allons devoir exécuter la commande rails generate devise:controllers La commande a eu pour effet de générer l’ensemble des controllers que vous voyez ici, dans le dossier controllers users. La commande nous précise qu’il faut ajouter cette configuration au sein de notre fichier routes. Nous allons le faire. Ajoutez ici, controllers, ouvrez les accolades, registrations, suivi de users/registrations. Nous indiquons, de cette façon, à Devise d’utiliser le controller nouvellement généré pour les actions correspondantes au controller registrations. Accédons, maintenant, au controller registrations et modifions l’action edit. Nous allons, ici, initialiser le profil et l’avatar. Nous le faisons, évidemment, que si l’utilisateur n’a pas déjà ces données. Maintenant que nous avons fait cela, il nous reste à autoriser l’édition des paramètres de profil et avatar. Pour cela, nous pouvons activer before_action : configure_account_update_params et modifier la méthode en conséquence. Maintenant, que nous avons fait cela d’une façon propre, retirez, ici, current_user.profile. En le laissant, cela vous empêcherait d’avoir les messages d’erreur, au sein de votre formulaire. Avant de clore cette vidéo, voici comment vous pourriez afficher l’avatar de votre utilisateur. Notez ici, l’usage du mot-clé thumb, pour avoir l’avatar en miniature. Cette vidéo, vous a donc présenté, comment modifier les vues générées par Devise et également, agir au sein du controller de Devise.

L'essentiel de Ruby on Rails

Concevez des applications web évolutives et intemporelles avec Ruby on Rails. Installez l’environnement, réalisez un projet de stack overflow, enrichissez-le, etc.

6h08 (85 vidéos)
Aucun commentaire n´est disponible actuellement

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !