Funktion | Funktionsinhalt |
---|---|
Listenanzeige | Listen Sie alle Aufgaben auf |
Detailansicht | Zeigen Sie die Details einer Aufgabe an |
Anmelden | Neue Aufgabe in db registrieren |
Bearbeiten | Bearbeiten Sie die registrierte Aufgabe und aktualisieren Sie die Datenbank |
Löschen | Löschen Sie registrierte Aufgaben aus der Datenbank |
Schienen neuer Anwendungsname[Möglichkeit]
#Beispiel)
rails new taskmanage -d postgresql
Wechseln Sie in das Verzeichnis, in dem Sie die Anwendung erstellt haben, und erstellen Sie eine Datenbank
rails db:create
Drücken Sie den folgenden Befehl: 「http://localhost:3000」 Gehen Sie zu und prüfen Sie, ob die Standardseite für Schienen angezeigt wird
rails s
--Ruby-Klasse entsprechend dem Modell Kamelkoffer
--Tabellen der Datenbank entsprechend dem Modell Schlangenfall mit mehreren Modellklassennamen
Attribut | Attributname | Datentyp | Erlaubst du null? | Standardwert |
---|---|---|---|---|
Name | name | string | nicht erlaubt | Keiner |
ausführliche Erklärung | description | text | Erlaubnis geben | Keiner |
rails g model [Modellname] [Attributname:DatentypAttributname:Datentyp...] [Möglichkeit]
#Beispiel)
rails g model Task name:string description:text
Überprüfen Sie die erstellte Migrationsdatei und führen Sie ** Rails db: migrate ** aus
Schienen g Controller Controller Name[Aktionsname Aktionsname...] [Möglichkeit]
#Beispiel)
rails g controller tasks index show new edit
Rails.application.routes.draw do
root to: 'tasks#index'
resources :tasks
end
= link_to 'Anmelden', new_task_path
tasks_controller.rb
def new
@task = Task.new
end
slim:new.html.slim
= form_with model: @task, local: true do |f|
.form-group
= f.label :name #label =Fokussieren Sie das Eingabefeld, indem Sie den Namen des Eingabefelds anzeigen und auf das Beschriftungsteil klicken
= f.text_field :name
.form-group
= f.label :description
= f.text_area :description
= f.submit nil
** Aktion erstellen ** = "Speichern Sie die vom Registrierungsformular gesendeten Daten in db und wechseln Sie zum Listenbildschirm."
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 #Starke Parameter = Informationen, die vom Formular als Anforderungsparameter gesendet werden, sind wie erwartet{task: {...}}Die Rolle der Überprüfung, ob es sich um die Form handelt, und der Extraktion nur der erforderlichen Informationen
params.require(:task).permit(:name, :description)
end
render | Redirect_to |
---|---|
Zeigen Sie die Ansicht nach der Aktion an | Zeigen Sie die Ansicht nicht unmittelbar nach der Verarbeitung der Aktion an und leiten Sie sie an eine andere URL weiter |
Liefern Sie bei der Umleitung ein paar Daten an die nächste Anforderung
redirect_to tasks_url, notice:"Aufgabe"#{task.name}Wurde registriert."
#Mittel zum Umleiten nach dem Senden einer Nachricht zum Abschluss der Aufgabenregistrierung
flash.now[:alert] = "Sofort benachrichtigen"
#Wenn in der gleichen Anfrage, blinken.now
tasks_controller.rb
def index
@tasks = Task.all
end
@tasks.each do |task|
task.name
task.created_at
ruby:index.html.slim
link_to task.name, task_path(task)
tasks_controller.rb
def show
@task = Task.find(params[:id])
end
ruby:show.html.slim
@task.id
@task.name
@task.created_at
@task.updated_at
ruby:index.html.slim
link_to 'Bearbeiten', edit_task_path(task)
ruby:show.html.slim
link_to 'Bearbeiten', edit_task_path
tasks_controller.rb
def edit
@task = Task.find(params[:id])
end
def update
task = Task.find(params[:id])
task.update!(task_params)
redirect_to tasks_url, notice: "Aufgabe"#{task.name}"Das wurde aktualisiert."
end
slim:new.html.slim
= form_with model: @task, local: true do |f|
.form-group
= f.label :name #label =Fokussieren Sie das Eingabefeld, indem Sie den Namen des Eingabefelds anzeigen und auf das Beschriftungsteil klicken
= f.text_field :name
.form-group
= f.label :description
= f.text_area :description
= f.submit nil
Verwenden Sie eine Teilvorlage, um die allgemeinen Teile der neuen Registrierungsseite und der Bearbeitungsseite zusammenzustellen
ruby:_form.html.slim
= form_with model: task, local: true do |f|
.form-group
= f.label :name
= f.text_field :name
.form-group
= f.label :description
= f.text_area :description
= f.submit nil
Teilvorlage aufrufen
ruby:new.html.slim
= render partial: 'form'. locals: {task: @task} #"Instanzvariablen@Aufgabe als lokale variable Aufgabe teilweise übergeben "
ruby:edit.html.slim
= render partial: 'form'. locals: {task: @task}
ruby:index.html.slim
= link_to 'Löschen', task, method: :delete, date: { confirm: "Aufgabe"#{task.name}」をLöschenします。よろしいですか?"}
ruby:show.html.slim
= link_to 'Löschen', @task, method: :delete, date: { confirm: "Aufgabe"#{task.name}」をLöschenします。よろしいですか?"}
tasks_controller.rb
def destroy
task = Task.find(params[:id])
task.destroy
redirect_to tasks_url, notice: "Aufgabe"#{task.name}Wurde gelöscht."
end
[Referenz | Ruby on Rails 5 - Kurzanleitung, die vor Ort verwendet werden kann](https://www.amazon.co.jp/%E7%8F%BE%E5%A0%B4%E3%81%A7%E4%BD % BF% E3% 81% 88% E3% 82% 8B-Ruby-Rails-5% E9% 80% 9F% E7% BF% 92% E5% AE% 9F% E8% B7% B5% E3% 82% AC % E3% 82% A4% E3% 83% 89-% E5% A4% A7% E5% A0% B4% E5% AF% A7% E5% AD% 90 / dp / 4839962227)
Recommended Posts