Ruby on Rails élémentaire

Ruby on Rails élémentaire

J'ai appris les choses rudimentaires avec MVC.

Référence: Progate Ruby on Rails

Création de projet

#Création de projet
$rails nouveau nom d'application


#Démarrez le serveur localhost:????Accès par
$rails sever 


#Créer un contrôleur
#les rails génèrent le nom du contrôleur du contrôleur nom de l'action
$rails generate controller home top

            
            #localhost:????/home/top   
            #La page est automatiquement générée par la commande

Controller

Nom de l'application /app/controller/controller.rb

Homecontrollers.rb


class HomeController < ApplicationController

  def top
  end

end

Nom de l'application /config/routes.rb

routes.rb


Rails.application.routes.draw do

 get"home/top" => "home#top"
     #Nom du contrôleur d'URL # nom de l'action
end

En fait utiliser

Autoriser l'accès à localhost: ???? / ranking

Essayez de créer un classement à la destination de transition En d'autres termes Essayez de décrire le processus pour effectuer la transition d'URL afin qu'elle soit accessible avec localhost: ???? / ranking

Homecontrollers.rb


class HomeController < ApplicationController

  def top
  end

  #Ajout du routage correspondant et du classement des actions ici
  def ranking 
  end

end

Si vous tabulez le routage, cela ressemble à ceci.

URL manette action
home/top home top
ranking home ranking

routes.rb


Rails.application.routes.draw do

 get"home/top" => "home#top"

#Nom du contrôleur d'URL # nom de l'action
get"ranking" => "home#about"


end

View Ecrire en html.erb Comment écrire Ruby dans html.erb Impressions: ne devrais-je pas utiliser le principe? La visibilité du code peut être mauvaise

Exemple: boucle la liste

html.erb


<%
lists = [
        "good",
        "bad"
]
%>


<% lists.each do|list|% >

   <div class="list">
     <% list %>
   </div>
<% end %>

Lors du stockage de variables dans le contrôleur et de l'exécution

Homecontrollers.rb


class HomeController < ApplicationController

   #@Mettre
  def top
     @lists = [
        "good",
        "bad"
     ]
  end

end

html.erb



<% @lists.each do|list|% >

   <div class="list">
     <% list %>
   </div>
<% end %>

Modèle de préparation de base de données

Conversion en un code qui comprend la base de données de migration Instruction SQL si possible [SELECT, INSERT, UPDATE, DELETE ] Il peut être rapide de comprendre si vous pouvez écrire.

#les rails génèrent C'est long donc g est OK

$rails g model Post contents:text

              #Publier
              #content:· · · Nom de colonne
              #texte ・ ・ ・ ・ ・ ・ ・ ・ Type de données

Créé au moment où ce qui précède est exécuté Nom de l'application /db/migrate/yyyymmddhhmmss_create_posts.rb

Contenu

posts.rb


class CreatePosts < ActiveRecord::Migration[5.0]
  def change
    create_table :posts do |t|
      t.text :content

      t.timestamps
    end
  end
end

Erreur

ActiveRecord::PendingMigrationError Je pense que l'erreur peut être résolue en exécutant $ rails db: migrate.

Si vous accédez à la page avec le fichier de migration présent Une erreur de migration se produit.

À propos de la console des rails

Vous pouvez écrire le traitement de manière interactive

$rails console

>post = Post.new(content:"test")
       #Post instanciation
       #tester le contenu du tableau des articles

>post.save 
#Enregistrer l'instance de publication dans la table
#Enregistré dans la colonne Contenu de la base de données

>quitter la fin

Traitement pour récupérer des données d'une table

$rails console
>post = Post.first
>post.content

>posts = Post.all
# SELECT "posts".* FROM "posts"

>posts[0]
 #id: 1,
 #content: "Contenu",
 #created_at: Thu, 29 Oct 2020 16:14:30 JST +09:00,
 #updated_at: Thu, 29 Oct 2020 16:14:30 JST +09:00>

> posts[0].content
=># "Contenu"

Homecontrollers.rb


class HomeController < ApplicationController

   #@Obtenir des informations de DB
  def top
     @posts = Post.all

end

Recommended Posts

Ruby on Rails élémentaire
Principes de base de Ruby on Rails
Association Ruby On Rails
Record d'apprentissage de Ruby on rails -2020.10.03
Record d'apprentissage Ruby on rails -2020.10.04
[Ruby on Rails] Debuck (binding.pry)
Record d'apprentissage de Ruby on rails -2020.10.05
Record d'apprentissage de Ruby on rails -2020.10.09
Record d'apprentissage Ruby on rails-2020.10.07 ②
Record d'apprentissage Ruby on rails-2020.10.07 ①
Annuler la migration de Ruby on Rails
Record d'apprentissage de Ruby on rails -2020.10.06
Résumé de la validation Ruby on Rails
Mémorandum de base Ruby on Rails
[Ruby on Rails] Read try (: [] ,: key)
Variables Ruby on Rails, résumé constant
[Ruby on Rails] Introduction de la fonction de pagination
Progatez Ruby on Rails
Comment utiliser Ruby on Rails
Ruby on Rails compatible japonais-anglais i18n
(Ruby on Rails6) "Effacer" le contenu publié
[Ruby on Rails] Fonction de sortie CSV
Mémo de construction de l'environnement Ruby on Rails 6.0
[Ruby on Rails] Création de la page de confirmation
Ruby On Rails conçoit un conflit de routage
[Ruby on Rails] Implémentation de la fonction de commentaire
[Ruby on Rails] DM, fonction de chat
[Ruby on Rails] Méthode d'aide pratique
[Ruby on Rails] Arrêtez de "boucler jusqu'à ce que ..."
Vent arrière sur les rails
[Ruby on Rails] Introduction des données initiales
[Ruby on Rails] Fonction de recherche (non sélectionnée)
[Rails] Ajout de la fonction de commentaire Ruby On Rails
[Ruby on Rails] Création d'un formulaire de demande
[Ruby on Rails] Afficher le test avec RSpec
[Ruby on Rails] Vérification du code à l'aide de Rubocop-airbnb
[Ruby on Rails] 1 modèle CRUD (routage principal)
Méthode d'installation de Ruby on Rails [édition Mac]
Modèle [Ruby on Rails], commande de terminal de contrôleur
Commande de création / suppression de modèle Ruby on Rails
Ruby on Rails6 Guide pratique cp7 ~ cp9 [Mémo]
[Ruby on Rails] Suivez l'implémentation de la fonction: bidirectionnelle
Remarques sur l'utilisation de FCM avec Ruby on Rails
[Ruby on Rails] Test du contrôleur avec RSpec
[Ruby on Rails] Diaporama d'images utilisant Skippr
Commande de création / suppression du contrôleur Ruby on Rails
Préparation à l'introduction de jQuery dans Ruby on Rails
[Ruby on Rails] À propos du rappel Active Record
Nouvelle commande de création de l'application Ruby on Rails
[Ruby on Rails] Notation japonaise de l'erreur
Ruby on Rails6 Guide pratique cp4 ~ cp6 [Mémo]