· Version 10.15.3 ・ Rubis rubis 2.6.3p62 ・ Rails 6.0.3.2
Dans cet article, nous enregistrerons la création de la base de données et l'affichage dans la vue en Ruby on Rails6 comme un oubli. Si vous rencontrez des difficultés pour créer une base de données, j'espère que vous la trouverez utile.
Ici, nous allons commencer par créer un répertoire. La création de la base de données sera décrite plus tard, donc si vous la connaissez, vous pouvez la sauter!
Entrez la commande suivante dans n'importe quelle destination de répertoire. De plus, étant donné que nous supposons le déploiement sur heroku, nous avons mis en place une base de données (postgresql).
terminal
rails nouveau nom de répertoire-TB --database=postgresql
(Exemple)↓
rails new form_test -TB --database=postgresql
Si vous n'avez pas de base de données à définir, la commande suivante ne posera pas de problème.
terminal
rails nouveau nom de répertoire
(Exemple)↓
rails new form_test
Passons au répertoire créé précédemment et créons une page.
terminal
nom du répertoire cd
(Exemple ↓)
cd form_test
terminal
les rails génèrent un index de nom arbitraire du contrôleur
(Exemple)↓
rails generate controller Forms index
Pour "index", modifiez le nom de l'entrée avec l'intention de le créer. Il n'y a aucun problème avec la commande abrégée de generate → g. En outre, le nom du répertoire doit être au pluriel, tel que "Forms", pour une gestion plus facile ultérieurement.
terminal
index de nom arbitraire du contrôleur g de rails
(Exemple)↓
rails g controller Forms index
Si vous définissez ce qui suit sur routes, il sera défini sur http: // localhost: 3000 / forms.
config/routes
Rails.application.routes.draw do
# get "Nom arbitraire" => "Valeur arbitraire#index"
get "forms" => "forms#index"
# For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
end
Je vais le vérifier une fois avec un navigateur. Entrez la commande à afficher sur le navigateur.
terminal
rails s
or
rails server
At-il été affiché?
Aussi, je l'ai écrit dans la création de répertoire postgresql, mais je peux obtenir une erreur (j'ai eu une erreur) Dans ce cas, entrez la commande suivante.
terminal
rails db:create
La cause de l'erreur sera expliquée dans un autre article.
De là, nous allons créer la base de données.
terminal
rails g nom de la base de données modèle contenu:text
(Exemple)↓
rails g model Forms content:text
Les noms de bases de données sont plus faciles à gérer avec les acronymes «supérieur» et «pluriel». Pas omis ↓ Mais OK
terminal
les rails génèrent le contenu du nom de la base de données modèle:text
(Exemple)↓
rails generate model Forms content:text
Après avoir créé la base de données, veuillez migrer. Si vous l'oubliez, vous obtiendrez une erreur lors de la vérification avec votre navigateur.
terminal
rails db:migrate
Instancier. Pour ce faire, tapez d'abord rails console dans la commande.
terminal
rails console
Nom arbitraire=Nom de la base de données.new(content: "J'étudie les rails chez Progate à partir d'aujourd'hui!")
Nom arbitraire.save
(Exemple)↓
form1 = Form.new(content: "test")
form1.save
Soit dit en passant, si vous entrez ↓ lors de la création d'un répertoire, ce sera "forms (pluriel)", il est donc préférable de le mettre sur "form (single form)" lors de l'ajout d'une base de données.
terminal
rails generate controller forms index
Après avoir ajouté un message, veuillez enregistrer. En faisant cela, votre message sera enregistré.
terminal
Nom arbitraire.save
(Exemple)↓
form1.save
quit
quit est la commande pour quitter la console des rails. Vous pouvez enregistrer plusieurs publications en répétant ce processus 2 ~.
terminal
Cette fois je"Nom du répertoire=Nom de la base de données.all"Est utilisé.
Nom du répertoire=Nom de la base de données.all
forms = Form.all
→ Obtenir toutes les valeurs
Nom du répertoire[0]
forms[0]
→ Obtenez la première valeur
Nom du répertoire[0].content
forms[0].content
→ Valeur initiale(content)Avoir
C'est tout pour créer la base de données. Ensuite, nous allons travailler sur son affichage dans la vue.
Vous pouvez obtenir tout le contenu publié en définissant "nom du répertoire = nom de la base de données.tout" utilisé pour récupérer la base de données dans le contrôleur.
De plus, dans Ruby, "form" doit être accompagné de @, comme "@form".
app/controllers/Tout_controller.rb
class PostsController < ApplicationController
def index
# @Nom du répertoire=Nom de la base de données.all
@forms = Form.all
end
end
rb:app/views/Tout/index.html.erb
<h1>Forms#index</h1>
<p>Find me in app/views/forms/index.html.erb</p>
<% @Nom du répertoire.each do |form| %>
<div>
<%=Forme unique de nom de répertoire.content %>
</div>
<% end %>
Exemple ↓
rb:app/views/Tout/index.html.erb
<h1>Forms#index</h1>
<p>Find me in app/views/forms/index.html.erb</p>
<% @forms.each do |form| %>
<div>
<%= form.content %>
</div>
<% end %>
rb:app/views/Tout/index.html.erb
<% @forms.each do |form| %>
En traitement
<% end %>
Vous pouvez itérer en utilisant chacun. Aussi
rb:app/views/Tout/index.html.erb
<%= form.content %>
Affiche le «contenu» de la base de données.
Et, veuillez noter que dans Ruby, un comportement différent se produit en raison de la différence de notation de ↓. Ici, nous voulons afficher le contenu de la base de données, alors entrez <% = form.content%>.
rb:app/views/Tout/index.html.erb
<%= form.content %>
→ Afficher la chaîne de caractères dans la vue(=Important)
<% form.content %>
→ Ne pas afficher le résultat de la chaîne de caractères dans la vue
S'il n'y a pas de problème, vous pouvez le vérifier sur les itinéraires. J'ai essayé d'afficher test1 et test2 dans le test.
Les tests ci-dessus sont publiés sur Github. Si vous souhaitez l'essayer, veuillez le télécharger.
Merci d'avoir lu jusqu'ici. C'est tout pour créer une base de données et l'afficher dans une vue dans Ruby on Rails6. Les itinéraires et les réglages du contrôleur sont compliqués et un peu fatigants, mais j'espère qu'ils sont affichés dans la vue.
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