Es gibt drei Arten von Umgebungen in der Datenbank. Für jede Aufgabe wird auch eine Datenbank zugewiesen.
Umgebungstyp | Name des Umweltsystems | Verwenden |
---|---|---|
Entwicklungsumgebung | development | Überprüfen Sie den Betrieb während der Entwicklung |
Testumgebung | test | Führen Sie automatisierte Tests durch |
Produktionsumfeld | production | Stellen Sie es Benutzern zur Verfügung |
Während der Entwicklung werden wir die Entwicklungsumgebung und die Testumgebung verwenden. Diese beiden Dateien werden automatisch erstellt, wenn Sie db: create ausführen.
Standardmäßig können Sie einfach Code schreiben, indem Sie die in erb verwendete Vorlagen-Engine in eine Vorlagen-Engine namens slim ändern.
Wie man schlank schreibt
Wie schreibe ich erb | Wie man schlank schreibt |
---|---|
<% name %> | - name |
<%= name %> | = name |
#Kommentar | /Kommentar |
Hallo </p> |
p Hallo |
<a href='//example.com">image</a> | a href="//example.com"image |
<div class="profile name"> | .profile.name |
<div id="pam"> | #pam |
Schlank ist praktisch, wenn Sie sich daran gewöhnen, daher wird es schwierig sein, bis Sie sich daran gewöhnt haben.
・ Erstellen Sie ein Modell Geben Sie zum Erstellen eines Modells ein, was Sie nach Schienen g erstellen möchten (diesmal Modell).
$ rails g model Task name:string description:text
Auf diese Weise ・ Aufgabenmodell kann erstellt werden ・ Eine Migrationsdatei mit Konstruktionszeichnungen, mit der eine Tabelle mit dem Namen: Zeichenfolge Beschreibung: Text erstellt werden kann. ・ Erstellen Sie eine Datei für den automatischen Test des Modells
So erstellen Sie eine Tabelle: db: Migrieren Sie die Migrationsdatei, um die Tabelle zu erstellen.
· Routing Das Routing überprüft die URL und die HTTP-Methode und weist sie jeder Aktion des Controllers zu.
URL-Beispiel | HTTP-Methode | Aktionsname | Funktionsname | Rolle |
---|---|---|---|---|
/tasks | GET | index | Listenanzeige | Alle Aufgaben anzeigen |
/tasks/17 | GET | show | Detailansicht | Aufgaben mit einer bestimmten ID anzeigen |
/tasks/new | GET | new | Neuer Registrierungsbildschirm | Neuer Registrierungsbildschirmを表示する |
/tasks | POST | create | Anmeldung | Anmeldung処理を行う |
/tasks/17/edit | GET | edit | Bearbeitungsbildschirm | Bearbeitungsbildschirmを表示する |
/tasks/17 | PATCH,PUT | update | aktualisieren | aktualisieren処理を行う |
/tasks/17 | DELETE | destory | Löschen | Löschen処理を行う |
HTTP-Methoden sind wichtig! !!
・ So kombinieren Sie Routing zu einem
get 'tasks/index'
get 'tasks/show'
get 'tasks/new'
get 'tasks/edit'
Fassen Sie das obige Routing mit Ressourcen zusammen
resource :tasks
Die Ressourcenmethode kann die sieben Aktionen Indexieren, Anzeigen, Neu erstellen, Erstellen, Bearbeiten, Aktualisieren und Zerstören in einer kombinieren.
get "/" => "tasks#index"
root to: 'tasks#index'
Wenn Sie den Anfangsbildschirm der Schienen als Stamm angeben, wird die mit dieser Aktion verknüpfte Ansicht zum Anfangsbildschirm.
・ URL-Hilfsmethode Sie können auch / Aufgaben / Neu, / Aufgaben / Bearbeiten usw. durch Hilfsmethoden ersetzen
URL-Beispiel | HTTP-Methode | Name des URL-Musters | URL-Hilfsmethode |
---|---|---|---|
/tasks | GET | tasks | tasks_path |
/tasks/17 | GET | task | task_path |
/tasks/new | GET | new_task | new_task_path |
/tasks | POST | tasks | tasks_path |
/tasks/17/edit | GET | edit_task | edit_task_path |
/tasks/17 | PATCH、PUT | task | task_path |
/tasks/17 | DELETE | task | task_path |
Neuer Registrierungsbildschirm
ruby:app/views/tasks/new.html.slim
Neue Registrierung der h1-Aufgabe
.nav.justify-content-end
= link_to 'Aufführen', tasks_path, class: 'nav-link'
=form_with model:@task,local:true do |f|
.form-group
=f.label :name
=f.text_field :name, class: 'form-control', id: 'task_name'
.form-group
=f.label :name
=f.text_area :description, rows: 5, class: 'form-control', id: 'task_description'
=f.submit nil, class: 'btn btn-primary'
form_with dient zum Erstellen eines Formulars. Füllen Sie das gewünschte Formular mit f aus. ・ Erklärung .nav.justify-content-end: Von Bootstrap bereitgestellter Code f.label: name: Zeigt die Beschriftung an, die dem Eingabefeld entspricht. Ursprünglich name, aber da sie ins Japanische übersetzt wurde, wird sie name genannt = f.text_field: name: Wo soll der Text abgelegt werden? class: 'form-control: Die Klasse, die ursprünglich an Bootstrap angehängt war
app/controllers/tasks_controller.rb
def create
task = Task.new(task_params)
task.save!
redirect_to tasks_url, notice: "Aufgabe"#{task.name}Wurde registriert"
end
private
def task_params
params.require(:task).permit(:name,:description)
end
require (: task) .permit (: name ,: description) bedeutet "Erstellen Sie eine neue Aufgabe, indem Sie nur den Namen und die Beschreibungsinformationen zulassen". Holen Sie sich den erstellten Parameter mit params.
task / [task id] kann mithilfe der URL-Hilfsmethode als task_path (task) ausgedrückt werden. Die ID wird automatisch aus der Argumentaufgabe in Rails ermittelt.
simple_format(h(@task.description),{},sanitize: false, wrapper_tag: "div")
Sätze, die Erklärungen wie eine Beschreibung enthalten, werden lang und erfordern Zeilenumbrüche. Pausen können einfach mit simple_format gemacht werden.
Recommended Posts