[RUBY] Implementierung der Rails CRUD-Funktion ② (diesmal bearbeitet und detailliert)

Nach dem letzten Mal werde ich die Änderungen und Details beschreiben. Vorgehensweise beim Hinzufügen einer Funktion Überprüfen: route.rb → Controller hinzufügen → Ansicht hinzufügen

Bearbeitungsfunktion Das Verfahren ähnelt einem neuen Beitrag. Bildschirmanzeige bearbeiten (bearbeiten) → Mit Eingabeinhalten aktualisieren (aktualisieren)

routes.rb


resources :birds, only: [:index, :new, :create, :destroy, :edit]

image.png

Fügen Sie den Link zum Bearbeitungsbildschirm auf dem Listenbildschirm ein. Das Präfix übergibt die ID mit "edit_bird" und es handelt sich um eine GET-Methode.

index.html.erb


<%=link_to "Bearbeiten", edit_bird_path(bird.id), method: :get %>

Holen Sie sich den Datensatz, der mit der übergebenen ID übereinstimmt, und übergeben Sie ihn an den Bearbeitungsbildschirm.

birds_controller.rb


def edit
  @bird = Bird.find(params[:id])
end

Und es ist der Bearbeitungsbildschirm.

edit.html.erb


<%=form_with(model:@bird, local:true) do |form|%>
  <%=form.text_field :name, placeholder: "Vogelname"%>
  <%=form.text_field :pic, placeholder: "Vogel Foto URL"%>
  <%= form.submit "aktualisieren"%>
<%end%>

Der Link zum Bearbeitungsbildschirm wird ordnungsgemäß angezeigt. image.png

Wenn Sie darauf klicken, wird es richtig übergehen! image.png

Update-Prozess von hier! Zunächst Routen.rb!

routes.rb


resources :birds, only: [:index, :new, :create, :destroy, :edit, :update]

Der Controller empfängt den Eingabeinhalt und aktualisiert die DB! Verwenden Sie bird_param, das im neuen Beitrag erstellt wurde!

birds_controller.rb


...
  def update
    bird = Bird.find(params[:id])
    bird.update(bird_params)
  end
  private
  def bird_param
    # params.require(:Modellname).permit(:Spaltenname,:Spaltenname,......)
    params.require(:bird).permit(:name, :pic)
  end
...

image.png

image.png

image.png

Es wurde richtig in Kawasemi 2 geändert!

Detaillierte Anzeigefunktion Es ist endlich das letzte Feature! geben wir unser Bestes! !!

routes.rb


resources :birds, only: [:index, :new, :create, :destroy, :edit, :update, :show]

Es ist in Ordnung, aber da alle Funktionen hinzugefügt wurden, müssen Sie nicht nur schreiben! Lass es uns löschen!

routes.rb


  resources :birds

Es war ziemlich erfrischend! !!

Fügen Sie den Link zum Detailbildschirm auf dem Listenbildschirm ein! Wenn Sie den Befehl Rails Routes ausführen image.png Das Präfix ist Vogel, die Methode ist GET, und wir machen auch die ID!

index.html.erb


<%= link_to 'Einzelheiten', bird_path(bird.id), method: :get %>

Dann erhält der Controller die ID und erhält den Datensatz!

birds_controller.rb


def show
    @bird = Bird.find(params[:id])
  end

Schließlich show.html.erb!

show.html.erb


<%= @bird.name %>
<div style=
"background-image: url(<%= @bird.pic %>); 
 background-position: center center;
 background-size: cover;
 width: 300px; 
 height: 300px;
 margin-bottom: 10px;
 ">
</div>

image.png

Der von Ihnen ausgewählte wird angezeigt.

Zusammenfassung Wenn Sie die Regeln des Frameworks verstehen, identifizieren Rails das Verbindungsziel automatisch, wenn Sie ein Modell übergeben. Sie können eine Basis-Site mit explosiver Geschwindigkeit erstellen. Dieses Mal werden wir eine Login-Funktion implementieren, freuen Sie sich also darauf! Danke bis zum Ende! !!

Recommended Posts

Implementierung der Rails CRUD-Funktion ② (diesmal bearbeitet und detailliert)
Implementierung der Rails CRUD-Funktion ① (Neuzugang, diesmal Löschung)
Rails Grundgerüst für die Implementierung der CRUD-Funktion
[Rails] Implementierung der Drag & Drop-Funktion (mit Wirkung)
Implementierung der Fuzzy-Suchfunktion für Schienen
[Rails] Implementierung der Kategoriefunktion
[Rails] strftime dies und das
[Rails] Implementierung der Tutorial-Funktion
[Rails] Implementierung einer ähnlichen Funktion
[Rails] Implementierung der CSV-Importfunktion
[Rails] Asynchrone Implementierung der Like-Funktion
[Schienen] Startzeit und Endzeit speichern
[Rails] Implementierung der Bildvorschau
[Rails] Über die Implementierung der Like-Funktion
[Rails] Implementierung der Benutzerrückzugsfunktion
[Rails] Implementierung der CSV-Exportfunktion
[Rails] [jQuery] Asynchrone Funktionsimplementierung mit remote: true und js.erb
CRUD-Funktion und MVC in Rails
Implementierung der Funktionsfunktion [Rails] gem ancestry category
[Ruby on Rails] Implementierung der Kommentarfunktion
[Rails] Memo zur Implementierung der Kommentarfunktion
[Rails] Implementierung der Tag-Funktion mit Acts-as-Taggable-On und der Funktion zur Vervollständigung der Tag-Eingabe mit Tag-It
Schienen Hinzufügen einer einfachen Anmeldefunktion
[Ruby on Rails] Folgen Sie der Funktionsimplementierung: Bidirektional
Rails [Für Anfänger] Implementierung der Kommentarfunktion
[Ruby on Rails] Implementierung einer ähnlichen Funktion
[Rails] Implementierung der Suchfunktion mit Gem's Ransack
[Rails] Implementierung der Bildvergrößerungsfunktion mit Lightbox2
[Nuxt / Rails] POST-Implementierung mit axios und devise_token_auth
Ruby on Rails Implementierung der automatischen Mail-Sendefunktion
Dies und das der bedingten Verzweigung der Schienenentwicklung