J'ai appris les choses rudimentaires avec MVC.
Référence: Progate Ruby on Rails
#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
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
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 %>
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 %>
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
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.
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
$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