· Version 10.15.3 ・ Rubis rubis 2.6.3p62 ・ Rails 6.0.3.2
Ce qui précède a indiqué comment afficher la base de données dans la vue. Cependant, si vous voulez faire un travail avec Ruby on Rails, vous voulez faire acquisition d'identifiant </ strong>! Ici, l'affichage de la base de données par id est enregistré comme un enregistrement d'oubli. J'espère que ça t'aide.
Veuillez noter que vous devrez créer une base de données pour les travaux futurs. Pour plus d'informations → Voir ci-dessus
Image des itinéraires Si vous «postez / enregistrez» comme ↓, vous voulez créer «Ma page / page de détails» en fonction du nombre d'id. 1 à 4 sont des identifiants.
config/routes
Rails.application.routes.draw do
get 'Nom du contrôleur/index'
get 'Nom du contrôleur/1' => 'Nom du contrôleur#Nom de l'action'
get 'Nom du contrôleur/2' => 'Nom du contrôleur#Nom de l'action'
get 'Nom du contrôleur/3' => 'Nom du contrôleur#Nom de l'action'
get 'Nom du contrôleur/4' => 'Nom du contrôleur#Nom de l'action'
end
Si elle est laissée telle quelle, les routes seront décrites en grand nombre, alors décrivez-la comme ↓.
config/routes
Rails.application.routes.draw do
get 'Nom du contrôleur/:id' => 'Nom du contrôleur#Nom de l'action'
end
↓ Exemple
config/routes
Rails.application.routes.draw do
get 'posts/:id' => 'posts#index'
end
J'ai remplacé les parties 1 à 4 par : id </ strong>.
Si cela ressemble à ↓ sur les routes, une erreur se produira.
(Erreur)
config/routes
Rails.application.routes.draw do
get 'Nom du contrôleur/:id' => 'Nom du contrôleur#Nom de l'action'← Décrit en premier
get "/" => "forms#index"
end
Si vous écrivez la route : id </ strong> de get'posts /: id '=' posts # index '</ strong> avant la route normale, une erreur se produira. Alors, écrivez comme ↓.
(Succès)
config/routes
Rails.application.routes.draw do
get "/" => "forms#index"
get 'Nom du contrôleur/:id' => 'Nom du contrôleur#Nom de l'action'← Décrit plus tard
end
↓ Exemple
config/routes
Rails.application.routes.draw do
get "/" => "forms#index"
get 'posts/:id' => 'posts#index'← Décrit plus tard
end
Le contrôleur est bien avec les paramètres initiaux à ce stade.
app/controllers/Tout_controller
class PostsController < ApplicationController
nom de l'action def
end
end
Exemple ↓
app/controllers/Tout_controller
class PostsController < ApplicationController
def index
end
end
Pour obtenir l'ID, utilisez params [: id] </ strong> pour l'action du contrôleur. params </ strong> est la méthode qui reçoit la valeur.
app/controllers/Tout_controller
class PostsController < ApplicationController
nom de l'action def
@id = params[:id]
end
end
N'oubliez pas d'utiliser @id car le contrôleur doit avoir @.
Exemple ↓
app/controllers/Tout_controller
class PostsController < ApplicationController
def index
@id = params[:id]
end
end
erb:app/views/Tout/index.html.erb
<h1>Title</h1>
<p>smple text</p>
<%= "id est "#{@id}Est l'écran" %>
Vérifions avec le navigateur une fois ici
commander
rails s
(URL) http://localhost:3000/posts/1
Il a été affiché. Le contenu des personnages est différent entre l'image et Qiita, mais ne vous inquiétez pas.
erb:app/views/Tout/index.html.erb
<%= "id est "#{@id}Est l'écran" %>
L'identifiant est lu dans # {@id} </ strong> sur De plus, comme il est <% = ~~%> </ strong>, il est affiché dans la vue.
Jusqu'à présent, nous avons défini l'URL et l'ID. De là, récupérons les données correspondant à l'id.
Pour afficher l'ID égal </ strong>
Utilisez find_by et params [: id] </ strong>.
app/controllers/Tout_controller
class PostsController < ApplicationController
nom de l'action def
@nom de la table=Nom de la base de données.find_by(id: params[:id])
end
end
↓ Exemple
app/controllers/Tout_controller
class PostsController < ApplicationController
def index
@post = Post.find_by(id: params[:id])
end
end
find_by </ strong> obtient une valeur dont la valeur de la colonne id est égale à "params [: id]". Aussi params [: id] </ strong> pourra contenir un objet contenant les données envoyées depuis le navigateur vers l'application Rails.
Enfin, définissez les vues. Ici, affichons le contenu publié et l'heure publiée.
erb:app/views/Tout/index.html.erb
<h1>Title</h1>
<p>sample text</p>
<%= @post.content %>
<%= @post.created_at %>
Moins que Veuillez entrer et vérifier avec votre navigateur.
commander
rails s
Je suis entré dans test1 avec la commande rails console, et cela se reflète fermement.
erb:app/views/Tout/index.html.erb
<%= @post.content %>
→content(Message texte)Avoir
<%= @post.created_at %>
→ Obtenez l'heure de publication
Si vous souhaitez créer un lien vers cet article, veuillez écrire ce qui suit dans les vues.
erb:app/views/Tout/index.html.erb
<%= link_to(Publier.content, "/Nom de la page/#{post.id}") %>
Exemple ↓
erb:app/views/Tout/index.html.erb
<%= link_to(post.content, "/posts/#{post.id}") %>
Le code ci-dessus est disponible sur Github. Si vous êtes intéressé, veuillez le télécharger. → Github
Ce qui précède est l'affichage de la base de données pour laquelle l'ID de la base de données a été acquis. Je suis très reconnaissant de pouvoir obtenir l'identifiant et afficher le contenu de l'URL et de la base de données. Si vous le concevez, vous pouvez l'utiliser dans de nombreuses situations. Merci pour la lecture.
Livres: <a href = "https://www.amazon.co.jp/%E3%81%9F%E3%81%AE%E3%81%97%E3%81%84Ruby-%E7%AC%AC6 % E7% 89% 88-Informatics-IDEA-% E9% AB% 98% E6% A9% 8B / dp / 4797399848 / ref = sr_1_1? __Mk_ja_JP =% E3% 82% AB% E3% 82% BF% E3% 82 % AB% E3% 83% 8A & dchild = 1 & keywords =% E3% 81% 9F% E3% 81% AE% E3% 81% 97% E3% 81% 84Ruby +% E7% AC% AC6% E7% 89% 88 & qid = 1600088731 & s = livres & sr = 1-1 "target =" blank "> Fun Ruby 6e édition
En outre, il existe un lien vers le portefeuille Twitter, donc si vous êtes intéressé Connectez-vous s'il vous plaît. Je serais très heureux d'avoir des amis avec qui je peux partager mon apprentissage de la programmation.
Recommended Posts