Cette fois, c'est une continuation de l'article précédent.
Explication de Ruby sur rails pour les débutants ①
Continuez.
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.
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.
Le contenu du fichier test.html.erb doit ressembler à ceci:
test.html.erb
<h1>tester</h1>
Créons un lien vers ce 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.
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.
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.
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") %>
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.
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.
<% =%>
pour afficher sur le navigateur<%%>
si vous ne voulez pas qu'il apparaisse dans le navigateurPuisque 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.
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.
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.
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 ⑥ ~ Création de la validation ~
Explication de Ruby on rails pour les débutants ⑦ ~ Implémentation de flash ~
Recommended Posts