[RUBY] Résumé des connaissances de base des rails acquises par progate

À quel genre de personne l'article est-il destiné?

--Personnes qui viennent de commencer à apprendre les rails

Quel genre d'article

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.

Différents concepts

serveur

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.

Vue

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.

manette

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.

action

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.

routage

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.

Base de données

Un endroit pour stocker vos données.

table

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.

modèle

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.

Fichier de migration

Un fichier qui indique à la base de données d'apporter des modifications.

codage

Code utilisé dans les fichiers de visualisation

<% %>

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.

méthode link_to

<%= 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.

Code utilisé dans le fichier du contrôleur

@variable

@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.

nouvelle méthode

Nom du modèle.new(Nom de colonne:valeur)
ex) post = Post.new(content: "hogehoge")

Créez une instance à partir du modèle.

méthode de sauvegarde

Nom de l'instance.save
ex) post.save

Enregistrez l'instance créée dans une table.

toute la méthode

Nom du modèle.all
ex) posts = Post.all

Obtenez tous les enregistrements de la table.

méthode find_by

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.

où méthode

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.

méthode redirect_to

redirect_to("URL")
ex) redirect_to("/posts/index")

Vous pouvez transférer vers la page spécifiée.

méthode de rendu

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.

méthode de commande

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.

méthode de destruction

Nom de l'instance.destroy
ex) post.destroy

Supprime les données (instance) spécifiées de la base de données.

Session variable

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.

Code utilisé dans le fichier de routage

méthode get

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.

méthode de publication

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.

Paramètres nommés

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.

Code utilisé dans le fichier modèle

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

Code utilisé dans le fichier de migration

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.

Ligne de commande

--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 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.

Résumé

progate est bon.

Articles référencés

Livres référencés

Recommended Posts

Résumé des connaissances de base des rails acquises par progate
[Java] Résumé de base de Java non couvert par Progate ~ Partie 1 ~
Connaissance de base de Ruby on Rails
[Java] Résumé de base de Java non couvert par Progate ~ Partie 2 ・ Liste ~
Résumé des bases de données de base de connaissances sur la migration: restauration et ajout / suppression de colonnes
Résumé des fonctions de base d'ImageJ
[Rails] Introduction de Rubocop par les débutants
[Rails] Résumé de la configuration de routage compliquée
[Connaissance de base de Java] Portée des variables
[Rails] Conservation temporaire des données par session
Notions de base
Résumé de la compréhension de Docker par les débutants ② ~ docker-compose ~
[Java] Résumé personnel des instructions conditionnelles (basique)
Connaissance de base de la rédaction de notes de développement Java
Tutoriel Rails Chapitre 0: Apprentissage préliminaire des connaissances de base 5
[Connaissance de base de Java] À propos de la conversion de type
Façon de penser lors de l'étude des connaissances de base du programme
Seul résumé lié à la configuration du tutoriel Rails
[Ruby] Connaissance de base des variables d'instance de classe, etc.
[Java] Résumé personnel des classes et méthodes (basique)
Résumé de la compréhension de Docker par les débutants ① ~ docker run -p ~
Résumé des connaissances Java
Connaissances de base Java 1
Résumé du routage Rails 6.0
Philosophie de base des rails
rails db: 〇〇 Résumé
Résumé des commandes fréquemment utilisées dans Rails et Docker
Une revue du code utilisé par les rails débutants
Résumé des révisions (nouveaux problèmes de yuan) par version Java
Un bref résumé des options d'association Rails (clé_trangère, clé_principale)
Traitement d'image: structure de base de l'image lue par le programme
Résumé des connaissances requises pour réussir Java SE8 Silver
Introduction à Java pour les débutants Connaissance de base du langage Java ①