Explication de Ruby on rails pour les débutants ② ~ Création de liens ~

introduction

Cette fois, c'est une continuation de l'article précédent.

Explication de Ruby sur rails pour les débutants ①

Continuez.

Changements de routage

Vous pouvez configurer le routage à votre guise.

Par exemple, faisons en sorte que home # top (l'action supérieure du contrôleur home) se produise lorsque vous écrivez / pocomaru.

Modifiez le routage comme suit:

routes.rb


Rails.application.routes.draw do
  get "pocomaru" => "home#top"
end

Dans cet état, saisissez l'URL comme indiqué ci-dessous.

http://localhost:3000/pocomaru

De cette façon, l'URL http: // localhost: 3000 / pocomaru sera remplacée par l'instruction home # top (l'action supérieure du contrôleur home).

Le routage est effectué pour les URL après localhost: 3000.

Une fois exécuté, l'écran suivant s'affiche.

image.png

Créer un lien

Créons maintenant un lien.

Dans un fichier appelé top.html.erb, mettez un lien vers le fichier test.html.erb.

Il a la structure de fichiers suivante. image.png

Le contenu du fichier test.html.erb doit ressembler à ceci:

test.html.erb


<h1>tester</h1>

Créons un lien vers ce fichier.

Pourquoi cliquer sur un lien vous amènera à un autre fichier

Mais que signifie cliquer sur un lien et l'envoyer à l'utilisateur?

Pensez à ce qui se passe une fois. Voir la figure ci-dessous.

image.png

Cliquer sur un lien pour passer à un autre fichier est l'histoire dans la boîte rouge de la figure ci-dessus.

L'utilisateur envoie l'URL au serveur, le contrôleur recherche le fichier de vue en fonction de l'URL, effectue le traitement décrit dans l'action, puis envoie le fichier de vue à l'utilisateur.

Demander un fichier de vue au serveur de cette manière s'appelle «envoyer une demande d'obtention».

Les utilisateurs envoient des URL au serveur de différentes manières. Vous pouvez cliquer sur le texte avec le lien, ou appuyer sur le bouton qui dit «Envoyer» après avoir saisi l'ID.

Une fois qu'une telle URL a été envoyée, le serveur l'a traduite par routage.

image.png

Par le routage, vous spécifiez quelle action sur quel contrôleur effectuer.

En outre, ces actions correspondent à la vue des fichiers.

Par exemple, lorsque le routage appelle l'action top du contrôleur home, le fichier top.html.erb du répertoire personnel sous app >> views est appelé.

En d'autres termes, si vous vous demandez pourquoi cliquer sur un lien vous mènera à un autre fichier, vous pouvez répondre comme suit.

`Lorsque vous cliquez sur un lien, l'URL est traduite par routage, vous spécifiez quelle action de quel contrôleur effectuer, et un fichier de vues correspondant à cette action est envoyé à l'utilisateur.

Créer réellement un lien

Il existe deux façons principales de créer des liens Ruby on rails.

Puisque c'est un gros problème, implémentons-le de deux manières.

Le fichier top.html.erb a été réécrit comme suit.

top.html.erb


<h1>Hello World</h1>
<a href="test">test by href</a>
<%= link_to("test by link_to", "test") %>

image.png

La façon d'écrire le lien sur la deuxième ligne est une manière typique d'écrire un lien html.

Remarquez comment écrire la troisième ligne.

Si vous le placez sous la forme «<% =%>», c'est du code Ruby! Il sera dit comme `. Le code utilisant link_to est du code Ruby, pas du code html, vous devez donc le placer comme ceci.

Au fait, même si vous l'entourez de <%%>, cela vous dira que c'est du code Rails.

J'expliquerai s'il faut le placer dans <%%> ou <% =%> et comment utiliser link_to ci-dessous.

Différence entre <% =%> et <%%>

En fait, erb dans .html.erb est une abréviation pour ʻEmbedded RuBy`. En d'autres termes, il s'agit d'un fichier html avec Ruby intégré.

En d'autres termes, vous pouvez intégrer des scripts Ruby dans ce fichier html.erb.

<% =%> Et <%%> sera utilisé lors de l'écriture du code ruby dans le fichier html.erb.

Cependant, lors de l'incorporation d'un script ruby dans un fichier html, il existe des cas où un traitement qui n'a pas besoin d'être affiché séparément dans le navigateur est effectué.

Dans un tel cas, il est nécessaire d'utiliser ces deux correctement. Rappelez-vous grossièrement ce qui suit.

Comment utiliser link_to

Puisque link_to est du code Ruby, il doit être placé entre «<%%>» ou «<% =%>».

Cette fois, je veux créer un lien qui saute quelque part quand je clique dessus, donc bien sûr je dois l'afficher dans le navigateur.

Placez-le dans <% =%>.

link_to prend caractère à afficher sur le navigateur comme premier argument et ʻURL` comme deuxième argument.

Cette fois, j'ai décidé de passer l'URL test.

De là, je vais vous expliquer comment envoyer le fichier test.html.erb lorsque l'utilisateur clique sur le lien, c'est-à-dire que l'URL est envoyée.

Commençons par changer le routage.

Modifier le routage

Modifiez le routage comme suit.

routes.rb


Rails.application.routes.draw do
  get "pocomaru" => "home#top"
  get "test" => "home#test"
end

J'ai ajouté un nouveau code à convertir au routage home # top lorsque l'URL test est envoyée.

En d'autres termes, lorsque l'utilisateur clique sur le test d'URL, l'action supérieure du contrôleur d'accueil sera exécutée.

Ensuite, ajoutons l'action supérieure au contrôleur domestique.

Ajouter une action au contrôleur

Ajoutons l'action de test au contrôleur domestique.

hoem_controller.rb


class HomeController < ApplicationController
    def top
    end
    
    def test
    end
end

En ajoutant un tel code, lorsque l'utilisateur appelle le routage home # test, l'action de test du contrôleur domestique est effectuée et le fichier view >> home >> test.html.erb est envoyé à l'utilisateur. Vous pourrez le renvoyer.

image.png

À la fin

C'est tout pour cette fois.

Merci d'être resté avec nous jusqu'à présent.

Veuillez consulter les articles suivants si vous le souhaitez.

Explication de Ruby on rails pour les débutants ③ ~ Création d'une base de données ~

Explication de Ruby on rails pour les débutants ④ ~ Comment utiliser les règles de nommage et form_Tag ~

Explication de Ruby on rails pour les débutants ⑤ ~ Modification et suppression de la base de données ~

Explication de Ruby on rails pour les débutants ⑥ ~ Création de la validation ~

Explication de Ruby on rails pour les débutants ⑦ ~ Implémentation de flash ~

Recommended Posts

Explication de Ruby on rails pour les débutants ② ~ Création de liens ~
Explication de Ruby sur rails pour les débutants ①
Explication de Ruby on rails pour les débutants ③ ~ Création d'une base de données ~
Explication de Ruby sur rails pour les débutants ⑥ ~ Création de validation ~
Explication de Ruby on rails pour les débutants ⑦ ~ Implémentation Flash ~
Explication de Ruby on rails pour les débutants ⑤ ~ Modifier et supprimer la base de données ~
[Procédure 1 pour les débutants] Ruby on Rails: Construction d'un environnement de développement
Explication de Ruby on rails pour les débutants ④ ~ À propos des règles de dénomination et comment utiliser form_Tag ~
Connaissance de base de Ruby on Rails
[Ruby on Rails] Introduction des données initiales
[Rails] Ajout de la fonction de commentaire Ruby On Rails
[Ruby on Rails] Création d'un formulaire de demande
Rails [Pour les débutants] Implémentation de la fonction de commentaire
[Ruby on Rails] Notation japonaise de l'erreur
[Ruby on rails] Implémentation d'une fonction similaire
Débutant a créé un portfolio avec Ruby on Rails
[Ruby on Rails] Comment éviter de créer des routes inutiles pour concevoir
Paramètres de validation pour la fonction de connexion Ruby on Rails
[Ruby on Rails] Jusqu'à l'introduction de RSpec
Recommandation de classe de service dans Ruby on Rails
[Ruby on Rails] Mémo d'introduction Select2 pour Webpacker
[Rails] Procédure de liaison de bases de données avec Ruby On Rails
(Ruby on Rails6) Création de données dans une table
[Pour les débutants] Procédure de création d'un contrôleur à l'aide de rails
[Ruby on Rails] Affichage individuel des messages d'erreur
Ruby on Rails élémentaire
Principes de base de Ruby on Rails
Association Ruby On Rails
[Ruby on Rails] Communication asynchrone de la fonction de publication, ajax
Implémentation de la fonction de connexion Ruby on Rails (édition de devise)
Essayez d'utiliser l'attribut de requête Ruby on Rails
Création de portfolio Ruby on Rails
Record d'apprentissage Ruby on rails -2020.10.04
[Ruby on Rails] Debuck (binding.pry)
Record d'apprentissage de Ruby on rails -2020.10.05
Record d'apprentissage Ruby on rails-2020.10.07 ②
(Pour les débutants) [Rails] Installer Devise
Record d'apprentissage Ruby on rails-2020.10.07 ①
Annuler la migration de Ruby on Rails
Record d'apprentissage de Ruby on rails -2020.10.06
Résumé de la validation Ruby on Rails
Mémorandum de base Ruby on Rails
[Pour les débutants] Explication des classes, des instances et des statiques en Java
[Ruby on Rails] Élimination de Fat Controller-First, logic to model-
(Ruby on Rails6) Affichage de la base de données qui a obtenu l'identifiant de la base de données
Supprimer tout le contenu de la page de liste [Ruby on Rails]