Ich wollte es mithilfe eines Kalenders in der Anwendungsentwicklung implementieren und habe es daher kurz zusammengefasst.
simple_calendar ist ein Juwel, mit dem Sie einfach eine Kalenderfunktion hinzufügen können. Sie können einen Kalender erstellen, indem Sie ein Datum wie einen Monatskalender oder einen Wochenkalender angeben. Dieses Mal verwendet die Methode einen Monatskalender.
Fügen Sie der Gem-Datei Folgendes hinzu und führen Sie "Bundle-Installation" im Anwendungsverzeichnis aus.
gem.file
gem "simple_calendar", "~> 2.0"
Führen Sie den folgenden Befehl aus, um eine Ansichtsdatei für simple_calendar zu generieren. Wenn Sie das Layout anpassen möchten, können Sie es bearbeiten, indem Sie mit diesem Befehl eine Datei erstellen.
rails g simple_calendar:views
Fügen Sie dem Modell Folgendes hinzu, um das Ereignis im Kalender anzuzeigen. Der Teil "Datum" beschreibt den Spaltennamen.
model.rb
def start_time
self.date
end
Schreiben Sie Folgendes, um den Kalender anzuzeigen. Der Teil "Ereignisse" ruft Daten ab, indem die in der Steuerung festgelegten Instanzvariablen platziert werden. Sie können das Ereignis jetzt im Kalender anzeigen.
ruby:view.html.erb
<%= month_calendar events: @all do |date, all| %>
<%= date.day %> //So zeigen Sie den Zeitplan im Kalender an
<% all.each do |i| %>
<div>
<%= i.price %>
</div>
<% end %>
<% end %>
Wenn <% = Datum%>, wird es als 2020-01-01 ausgegeben. Dieses Mal möchte ich nur das Datum anzeigen, also schreibe ich <% = date.day%>.
Fügen Sie "* = require simple_calendar" zu application.css hinzu, um das CSS von simple_calendar anzuwenden.
/app/assets/stylesheets/application.css
/*
*= require simple_calendar #Ich werde es hier hinzufügen
*= require_tree .
*= require_self
*/
Sie können das Kalenderdesign anpassen, indem Sie eine Datei erstellen und das CSS wie unten gezeigt selbst schreiben.
/app/assets/stylesheets/_simple_calendar.scss
.simple-calendar {
.day {}
.wday-0 {}
.wday-1 {}
.wday-2 {}
.wday-3 {}
.wday-4 {}
.wday-5 {}
.wday-6 {}
.today {}
.past {}
.future {}
.start-date {}
.prev-month {}
.next-month { }
.current-month {}
.has-events {}
}
Wenn Sie den Kalender mit dem Eingabe-Tag verwenden möchten, können Sie ihn wie unten gezeigt mit "f.date_field" anzeigen.
ruby:view.html.erb
<%= form_with model: @income, local: true do |f| %>
<%= f.date_field :date, id:"date" %>
<% end %>
https://qiita.com/isaatsu0131/items/ad1d0a6130fe4fd339d0 https://github.com/excid3/simple_calendar
Recommended Posts