Ich hatte Probleme beim Formatieren des von SQL generierten create_at, daher ein Hinweis zur Implementierung
Erstellen Sie eine Tabelle.
table.sql
create table todos
(
id integer PRIMARY key,
body text,
created_at
);
Verwenden Sie den aktiven Datensatz, um die zuvor erstellte Aufgaben-Tabelle an das Objekt zu binden.
tlist.rb
class Todos < ActiveRecord::Base
validates :body, presence: true
end
Speichern Sie das Objekt in einer Instanzvariablen.
tlist.rb
get '/' do
@todos = Todos.all
erb :index
end
Versuchen Sie, die Uhrzeit anzuzeigen.
index.erb
<div class="user_box">
<p class="user_name">Shuto</p>
<ul>
<% @todos.where(users_userName: "Shuto").each do |todo|%>
<li data-id = "<%= todo.id%>" data-token = "<%= Rack::Csrf.csrf_token(env)%>">
<div class="one">
<%= Rack::Utils.escape_html(todo.body)%>
</div>
<div class="time">
<%= todo.created_at%>
<span class="delete">[x]</span>
</div>
</li>
<% end%>
</ul>
</div>
Wenn ich es ausgeführt habe, gibt es unnötige Teile, deshalb möchte ich es formatieren.
Nach der Untersuchung scheint es, dass es mit der strftime-Methode formatiert werden kann. Wenden Sie die Methode an und führen Sie sie aus.
index.erb
<div class="user_box">
<p class="user_name">Shuto</p>
<ul>
<% @todos.where(users_userName: "Shuto").each do |todo|%>
<li data-id = "<%= todo.id%>" data-token = "<%= Rack::Csrf.csrf_token(env)%>">
<div class="one">
<%= Rack::Utils.escape_html(todo.body)%>
</div>
<div class="time">
<%= todo.created_at.strftime("%Y/%m/%d %H:%M:%S")%>
<span class="delete">[x]</span>
</div>
</li>
<% end%>
</ul>
</div>
Ich war wütend, dass es eine Zeichenkette war.
Es scheint notwendig zu sein, es in etwas anderes als eine Zeichenfolge zu konvertieren. Versuchen Sie also, es in einen Datumstyp zu konvertieren.
index.erb
<div class="user_box">
<p class="user_name">Shuto</p>
<ul>
<% @todos.where(users_userName: "Shuto").each do |todo|%>
<li data-id = "<%= todo.id%>" data-token = "<%= Rack::Csrf.csrf_token(env)%>">
<div class="one">
<%= Rack::Utils.escape_html(todo.body)%>
</div>
<div class="time">
<%= todo.created_at.to_date.strftime("%Y/%m/%d %H:%M:%S")%>
<span class="delete">[x]</span>
</div>
</li>
<% end%>
</ul>
</div>
Das Datum ist korrekt, aber die Uhrzeit ist falsch.
Konvertieren Sie es in einen Zeittyp und führen Sie es aus.
index.erb
<div class="user_box">
<p class="user_name">Shuto</p>
<ul>
<% @todos.where(users_userName: "Shuto").each do |todo|%>
<li data-id = "<%= todo.id%>" data-token = "<%= Rack::Csrf.csrf_token(env)%>">
<div class="one">
<%= Rack::Utils.escape_html(todo.body)%>
</div>
<div class="time">
<%= todo.created_at.to_time.strftime("%Y/%m/%d %H:%M:%S")%>
<span class="delete">[x]</span>
</div>
</li>
<% end%>
</ul>
</div>
Es wurde richtig angezeigt.
Wenn Sie auf einen Fehler stoßen, müssen Sie herausfinden, welches Format angegeben ist.
Der Prototyp dieser Anwendung basiert auf Einführung in Sinatra der Punktinstallation.
Recommended Posts