--Personnes qui viennent de commencer à apprendre les rails
Il s'agit d'un article qui répertorie ce que l'auteur, qui est un débutant de Rails, a appris dans le cours de Rails qu'il a terminé l'autre jour. Puisqu'il est complété par des informations provenant d'autres articles à certains endroits, il existe des différences par rapport au contenu exprimé et expliqué par la gestion des progiciels.
Un ordinateur qui fournit des données en réponse aux demandes du client (navigateur). Vous devez démarrer ce serveur pour afficher les applications créées avec Rails sur votre navigateur.
Un fichier HTML pour créer l'apparence d'une page. Dans l'interaction entre le navigateur et Rails, Rails renvoie une vue pour afficher la page. L'extension est «.html.erb». erb est une abréviation pour Embedded Ruby, un mécanisme permettant d'incorporer des scripts Ruby dans des fichiers HTML. Un des trois éléments nécessaires pour créer une page, similaire au routage du contrôleur ci-dessous.
Pour renvoyer une vue au navigateur. Chaque contrôleur est créé en fonction de l'objectif. Par exemple, les fonctions liées aux postes et les fonctions liées à l'utilisateur sont spécifiées dans des fichiers de contrôleur séparés.
Une fonction dans le contrôleur pour trouver la vue pour revenir au navigateur. Exprimé sous forme de méthode dans le fichier du contrôleur.
C'est comme une table de correspondance qui décide quel contrôleur et quelle action doivent être utilisés pour l'URL envoyée.
Un endroit pour stocker vos données.
Une table qui gère les données dans la base de données. Les données de chaque ligne sont appelées un enregistrement et les données de chaque colonne sont appelées une colonne.
Une classe qui interagit avec la base de données. Les données peuvent être stockées dans une table en créant une instance du modèle et en l'enregistrant.
Un fichier qui indique à la base de données d'apporter des modifications.
<% %>
ex)<%= @post %>
Lors de l'incorporation de code Ruby dans un fichier HTML, écrivez-le avant et après le code. Si vous voulez que le code soit affiché dans le navigateur, écrivez «<% =%>» avant et après le code.
<%= link_to("Caractère à afficher", "URL") %>
ex) <%= link_to("Liste des messages", "/posts/index")%>
Créez un lien. Utilisé dans les fichiers HTML. En ajoutant {method: "post"} au troisième argument, il correspondra au routage défini comme post.
form_tag
<%= form_tag("URL") do %>
Les données
<% end %>
ex)
<%= form_tag("/posts/update") do %>
<textarea name="content"><%= @post.content %><textarea>
<input type="submit" value="Publier">
<% end %>
Les données saisies dans le formulaire peuvent être envoyées à l'URL spécifiée. Cependant, form_tag seul n'a pas de sens, et en spécifiant l'attribut name dans la balise textarea (ou la balise d'entrée), le hachage avec l'attribut name comme clé peut être transmis au côté action. En passant, en mettant une valeur entre les balises textarea comme décrit ci-dessus, vous pouvez entrer à partir de la suite de ce que vous avez initialement entré lors de la réentrée du formulaire.
errors.full_messages
<%Nom de l'instance.errors.full_messages.each do |message| %>
<%= message %>
<% end %>
ex)
<% @posts.errors.full_messages.each do |message| %>
<%= message %>
<% end %>
Émet un message d'erreur. Si la validation échoue lorsque vous appelez la méthode save, Rails génère automatiquement un message d'erreur, vous pouvez donc utiliser l'instruction each pour tout afficher.
yield
html:views/layout/application.html.erb
<%= yield %>
Chaque fichier de vue est affecté au rendement décrit dans application.html.erb. application.html.erb est un fichier de vue qui décrit la mise en page qui s'applique à l'ensemble du site.
@post = "hogehoge"
Si vous le définissez dans le fichier du contrôleur, vous pouvez l'utiliser lors de l'incorporation de code Ruby dans le fichier de vue.
Nom du modèle.new(Nom de colonne:valeur)
ex) post = Post.new(content: "hogehoge")
Créez une instance à partir du modèle.
Nom de l'instance.save
ex) post.save
Enregistrez l'instance créée dans une table.
Nom du modèle.all
ex) posts = Post.all
Obtenez tous les enregistrements de la table.
Nom du modèle.find_by(Nom de colonne:valeur)
ex) post = Post.find_by(id: 1)
Obtenez une donnée qui correspond à une certaine condition.
Nom du modèle.where(Nom de colonne:valeur)
ex) posts = Post.where(id: 1)
Acquérir plusieurs données qui remplissent une certaine condition.
redirect_to("URL")
ex) redirect_to("/posts/index")
Vous pouvez transférer vers la page spécifiée.
render("Nom de dossier/nom de fichier")
ex) render("posts/edit")
Vous pouvez afficher la vue directement sans passer par une autre action. Il est souvent utilisé lorsque l'enregistrement des données échoue.
Nom du modèle.order(Nom de colonne: :Ordre de tri)
ex) @posts = Post.all.order(created_at: :desc)
Triez les données acquises. : desc représente l'ordre décroissant et: asc représente l'ordre croissant.
Nom de l'instance.destroy
ex) post.destroy
Supprime les données (instance) spécifiées de la base de données.
session[:Nom de la clé] =valeur
ex) session[:user_id] = @user.id
Il conserve les informations de l'utilisateur connecté même lorsque la page est déplacée. Vous pouvez l'empêcher d'être connecté en remplaçant nil.
params
ex1) @id = params[:id]
ex2) @post = Post.new(content: params[:content])
Exemple 1. Obtenez la valeur de: ○○ de l'URL définie dans le routage. Exemple 2. Recevez le contenu d'entrée du formulaire avec le nom = "○○".
before_action
before_action Traitement commun pour toutes les actions
ex) before_action :set_current_user, {only: [:edit, :update]}
Le processus décrit est toujours exécuté avant d'appeler une action. Écrivez en haut du fichier. En utilisant {uniquement: [: nom de l'action]}, il est possible de limiter les actions à exécuter.
nom de l'application/config/routes.rb
get "URL" => "Nom du contrôleur#Nom de l'action"
ex) get "/posts/index" => "posts#index"
Obtenez les informations spécifiées. Si vous ne souhaitez pas modifier la base de données, utilisez get. get et l'article ci-dessous sont appelés méthodes HTTP.
nom de l'application/config/routes.rb
post "URL" => "Nom du contrôleur#Nom de l'action"
ex) post "/posts/create" => "posts#create"
La méthode utilisée pour changer la valeur de session lors du changement de base de données. Il semble qu'il existe diverses autres méthodes HTTP, mais je ne les ai pas encore apprises, je vais donc les omettre ici.
nom de l'application/config/routes.rb
get "posts/:id" => "posts#show"
Si vous mettez une chaîne de caractères commençant par: dans la partie URL du routage, cette chaîne de caractères sera reconnue comme paramètre. Par conséquent, dans cet exemple, toutes les URL telles que / posts / ○○ peuvent être dirigées vers l'action show. Dans ce contexte, les routages comme / posts / index doivent être écrits avant afin qu'ils ne soient pas pris dans les routages pour / posts /: id.
validates
validates :Nom de colonne à vérifier, {Contenu à vérifier}
ex) validates :content, {presence: true}
Vérifiez les données (validation) afin qu'aucune donnée malveillante ne soit stockée dans la base de données. Les principaux contenus de vérification sont les suivants.
Contenu de la vérification | sens |
---|---|
presecse: true | Vérifiez si la valeur de cette colonne existe |
length: {maximum:nombre de mots} | Empêcher les données d'enregistrer plus que le nombre de caractères spécifié |
uniqueness: true | Rechercher les données en double dans la base de données |
add_column :nom de la table, :Nom de colonne, :Type de données
ex) add_column :users, :image_name, :string
Ajoutez une colonne à une table existante. Écrivez la méthode de changement.
--rails nouveau nom d'application
Un dossier portant le même nom que le nom de l'application saisi sera créé et les dossiers et fichiers nécessaires au développement y seront préparés.
rails server
Démarrez le serveur.
--rails g controller Nom du contrôleur Nom de l'action
Créer un contrôleur. g peut être généré.
Le nom du contrôleur et le nom de l'action sont souvent les mêmes que la méthode HTTP (URL).
--rails g model Nom du modèle Nom de la colonne: Type de données
Création d'un fichier de migration et d'un fichier modèle.
Le nom du modèle est au singulier et la première lettre est en majuscule.
--rails g nom du fichier de migration
Créez uniquement le fichier de migration.
Le nom du fichier doit être quelque chose de descriptif, tel que add_image_name_to_users.
rails db:migrate
Réflexion du fichier de migration vers la base de données.
J'ai créé un fichier de migration, mais si je ne l'exécute pas, j'obtiens une erreur.
progate est bon.
Recommended Posts