[RUBY] J'ai essayé de résumer divers link_to utilisés cette fois

introduction

La principale pierre d'achoppement de ce programme était la méthode link_to. Bien sûr, je pense comprendre l'utilisation de base, mais l'argument du chemin ne semble pas convenir.

Ce message n'a pas pour but d'expliquer quoi que ce soit, mais pour ma propre lecture du code. Ci-dessous, je vais couper tous les link_to de l'application créée cette fois et les assembler avec comment lire les arguments.

Toutes les méthodes link_to

ruby:application.html.erb



<%= link_to "Se déconnecter", destroy_user_session_path, method: :delete %>
<%= link_to "Nouveau poste", new_prototype_path %>

Puisque les deux "déconnexion" et "nouveau message" affichés dans l'état de connexion sont des pages et des processus communs à tout le monde, il n'est pas nécessaire de passer un argument dans (). La page de déconnexion ne diffère pas d'un utilisateur à l'autre et la nouvelle page de publication ne diffère pas d'un utilisateur à l'autre. Puisque la méthode HTTP de la méthode link_to est GET par défaut, spécifiez la méthode dans le troisième argument lors de la déconnexion.

ruby:application.html.erb



<%= link_to "S'identifier", new_user_session_path %>
<%= link_to "s'inscrire", new_user_registration_path %>

L'idée est la même que ①. Cette fois, il s'affiche lorsque vous n'êtes pas connecté. Étant donné que l'écran de connexion et la nouvelle inscription ne changent pas en fonction de l'utilisateur, aucun argument n'est nécessaire.

ruby:application.html.erb


<%= link_to image_tag("logo.png "), root_path %>

root_path n'a pas besoin d'avoir d'argument!

ruby:prototypes/show.html.erb


<%= link_to "Éditer", edit_prototype_path(@prototype) %>
<%= link_to "effacer", prototype_path(@prototype), method: :delete %>

La partie à modifier ou supprimer de la page de détails de ce que vous avez publié. Puisqu'un enregistrement est sélectionné comme @ prototype = Prototype.find (params [: id]) dans l'action show, il est possible de déterminer quel prototype éditer ou supprimer.

ruby:prototypes/_prototype.html.erb


<%= link_to prototype.title, prototype_path(prototype.id) %>
<%= link_to image_tag(prototype.image), prototype_path(prototype.id) %>
série user_path

user_path passe à la page Ma page de l'utilisateur. Des arguments sont nécessaires pour clarifier qui est ma page.

ruby:prototypes/index.html.erb


<%= link_to current_user.name + "M.", user_path(current_user) %>

Cliquer sur le nom d'utilisateur connecté vous amènera à Ma page de cet utilisateur. Current_user qui peut être utilisé en utilisant la Gemme de devise.

ruby:prototypes/_prototype.html.erb



<%= link_to "by " + prototype.user.name, user_path(prototype.user.id) %>

Obtenez l'ID de l'utilisateur associé au prototype.

ruby:prototypes/show.html.erb



<%= link_to "by " + @prototype.user.name, user_path(@prototype.user.id) %>

Le code de la pièce où le nom est affiché et qui l'a publié. Dans l'action show, @ prototype = Prototype.find (params [: id]) et un enregistrement sont sélectionnés, ainsi l'identifiant de l'utilisateur associé au prototype peut être obtenu.

ruby:prototypes/show.html.erb


<%= link_to comment.user.name, user_path(comment.user.id) %>

Le code où le commentaire est affiché. Dans chaque déclaration|Pour les paramètres de bloc (variables)comment|Entre et obtient l'ID de l'utilisateur associé au commentaire.

Recommended Posts

J'ai essayé de résumer divers link_to utilisés cette fois
J'ai essayé de résumer l'apprentissage Java (1)
J'ai essayé de résumer Java 8 maintenant
J'ai essayé de résumer les expressions Java lambda
J'ai essayé de résumer l'API Stream
Qu'est-ce que Docker? J'ai essayé de résumer
J'ai essayé de vérifier yum-cron
J'ai essayé de vérifier ceci et celui de Spring @ Transactional
J'ai brièvement résumé la grammaire de base de Ruby
J'ai essayé de résumer les applications et les outils de développement personnellement utiles (outils de développement)
J'ai essayé de résumer les applications et les outils de développement personnellement utiles (Apps)
J'ai essayé de résumer l'orientation de l'objet à ma manière.
J'ai essayé de mâcher C # (indexeur)
J'ai essayé de résumer ce qui était demandé lors de l'édition site-java-
[Rubiy] J'ai essayé de résumer le traitement de la boucle ce soir [fois, pause ...]
Conférence spéciale sur la simulation multi-échelles: j'ai essayé de résumer le 5e
J'ai essayé d'interagir avec Java
J'ai essayé d'expliquer la méthode
Conférence spéciale sur la simulation multi-échelles: j'ai essayé de résumer le 8
J'ai essayé de comprendre comment la méthode des rails "link_to" est définie
J'ai essayé de résumer le projet qui était difficile à première vue
J'ai essayé de résumer les méthodes de Java String et StringBuilder
J'ai essayé de créer divers programmes de séquence de nombres tels que le numéro Koratz, le numéro Fibonatch, le numéro Triangle
C # (polymorphisme: polymorphisme)
Conférence spéciale sur la simulation multi-échelles: j'ai essayé de résumer le 7
J'ai essayé d'expliquer Active Hash
J'ai essayé de résumer les points clés de la conception et du développement de gRPC
[Introduction à Java] J'ai essayé de résumer les connaissances que j'estime essentielles
[Après avoir appris Progate] j'ai essayé de résumer form_with en comparant avec form_tag
[Ruby] J'ai essayé de résumer les méthodes fréquentes dans paiza
[Ruby] J'ai essayé de résumer les méthodes fréquentes avec paiza ②
J'ai essayé de migrer le traitement vers VS Code
J'ai essayé de démarrer avec Web Assembly
J'ai essayé de résoudre la recherche binaire d'AOJ
J'ai essayé d'implémenter le modèle Iterator
J'ai essayé de construire AdoptOpenjdk 11 sur CentOS 7
J'ai essayé d'utiliser Selenium comme JQuery
J'ai essayé de toucher JavaScript Part.2 orienté objet
J'ai essayé de faire divers programmes de nombre d'amitié, nombre parfait, nombre excessif, nombre de pénurie, nombre de fois
J'ai essayé de résoudre le problème de la séquence Tribonacci en Ruby (temps limite 10 minutes)
J'ai essayé de résumer à nouveau le projet qui était difficile à première vue
[JavaScript] Le cas le plus fort lorsque j'ai essayé de résumer les parties que je ne comprends pas
J'ai essayé de convertir Java Bean et XML avec le formateur XML de Jackson à cette époque
J'ai essayé de vérifier AdoptOpenJDK 11 (11.0.2) avec l'image Docker
J'ai essayé de faire une authentification de base avec Java
J'ai essayé de gérer la configuration des jambes de force avec Coggle
[Rails] J'ai essayé de faire passer la version de Rails de 5.0 à 5.2
J'ai essayé de gérer les informations de connexion avec JMX
J'ai essayé d'organiser la session en Rails
java j'ai essayé de casser un simple bloc
J'ai essayé de lier grafana et postgres [docker-compose]