Créez une application Web qui peut faire CRUD (créer, lire, mettre à jour, supprimer) comme l'application Twitter la plus basique.
$ rails g model Post content:text
//rails g nom de la table modèle(Forme unique)Nom de colonne:Type de données(Quel type de données sera saisi)
$ rails db:migrate
//Refléter le contenu du fichier de migration = table(DB)Pouvez
Le nom de la table est unilatéral.
$ rails console
> post = Post.new(content:"Hello World")
//Créer une "instance de publication" avec le contenu de Hello World
> post.save
> posts = Post.all
> posts[0] //posts[0]Peut être confirmé
Dans l'index des actions du contrôleur de messages, Créez un index de fonction qui reçoit le contenu du blog à partir de la table.
class PostsController < ApplicationController
def index
@posts = Post.all
# @posts = [
# "J'étudie les rails d'aujourd'hui!",
# "La page de liste de messages est en cours de création!",
# "J'ai mangé une collation aujourd'hui!",
# "Je veux manger du chocolat",
# "Il faisait beau après un long moment aujourd'hui"
# ]
end
end
Si vous ajoutez @ à la variable, vous pouvez y accéder à partir d'autres fichiers, utilisez donc @ posts
. Il peut être affiché en html comme ceci.
<div class="container">
<% @posts.each do |post| %>
<div class="posts-index-item">
<%=post.content %>
</div>
<% end %>
Lorsque css est organisé, cela ressemble à ceci. J'ai pu l'ajouter depuis la console des rails! !! !! !!
Écrivez le code HTML que vous souhaitez afficher sur n'importe quelle page dans application.html.erb Comme l'en-tête.
Écrivez ceci en html avec <li> </ li>
.
<%=link_to("TweetApp","/") %>
$ rails console
> post = Post.find_by(id: 3)
> post.content
> post.created_at #Heure de publication
Route
#Acheminement de la page de détail des articles
get "posts/:id" => "posts#show"
méthode form_tag
<%=form_tag(url)%>
<%end%>
méthode redirect_to
def create
redirect_to("/posts/index")
end
<%=form_tag("/posts/create")%>
<div class="form">
<div class="form-body">
<textarea name="content"></textarea>
<input type="submit" value="Publier">
</div>
</div>
<%end%>
Il est enregistré en tant que content: (contenu publié)
dans une table de hachage appelée params, donc
Nouveau, enregistrez et redirigez comme suit
#Ajouter une action de création
def create
@post = Post.new(content: params[:content])
@post.save
redirect_to("/posts/index")
end
rails console
> post = Post.find_by(id: 1)
> post.content = "apple" #Écraser
> post.save
rails console
> post = Post.find_by(id: 1)
> post.destroy
Recommended Posts