[Rails] Verfahren zum Verknüpfen von Datenbanken mit Ruby On Rails

Modelleinstellungen

Das Beispiel ist "1 bis viele"

1 Seite

post.rb


class Post < ApplicationRecord
  has_many :comments
end

Mehrseitig

comment.rb


class Post < ApplicationRecord
  belongs_to :post
end

Routing-Einstellungen

routes.rb


resources :posts do
  resources :comments
end

routes.rb


resources :posts do
  resources :comments, only: [:create, :destroy]
end

So erhalten Sie Parameter auf dem Formular

Fügen Sie [] bei.

???.html.rb


<%= form_for [@post, @post.comments.build] do |f| %>
<p>
  <%= f.text_field :body %>
</p>
<p>
  <%= f.submit %>
</p>
<% end %>

Wie man bei Destroy löscht und empfängt

Vom Routing können Posts Parameter mit `: post_id``` und Kommentare mit`: id``` empfangen.

DELETE /posts/:post_id/comments/:id(.:format)      comments#destroy

???.html.rb


<% if @post.comments.any? %>
<ul>
<% @post.comments.each do |comment|%>
<li><%= comment.body %><span> </span><span><%= link_to "[X]", post_comment_path(@post, comment), method: :delete %></span></li>

???.controller.rb


def destroy
  @post = Post.find(params[:post_id])
  @comment = @post.comments.find(params[:id])
  @comment.destroy
  redirect_to post_path(@post)
end

Recommended Posts

[Rails] Verfahren zum Verknüpfen von Datenbanken mit Ruby On Rails
[Verfahren 1 für Anfänger] Ruby on Rails: Aufbau einer Entwicklungsumgebung
[Ruby on Rails] Test mit RSpec anzeigen
Hinweise zur Verwendung von FCM mit Ruby on Rails
[Ruby on Rails] Controller-Test mit RSpec
[Ruby on Rails] Modelltest mit RSpec
Erklärung von Ruby auf Schienen für Anfänger ①
Validierungseinstellungen für die Ruby on Rails-Anmeldefunktion
Einführung in Rspec mit Ruby on Rails x Docker
Veröffentlichen Sie die mit Ruby on Rails erstellte App
[Ruby on Rails] Select2-Einführungsnotiz für Webpacker
[Ruby on Rails] Erstellen Sie mit Chartick ein kreisförmiges Diagramm der Summen nach Spalten
Ruby on Rails Grundlagen
Ruby On Rails Association
Bestimmen Sie die aktuelle Seite mit Ruby on Rails
[Ruby on Rails] Hochladen mehrerer Bilder mit Refile
Ich habe mit Ruby On Rails ein Portfolio erstellt
Führen Sie Ruby on Rails RSpec-Tests mit GitHub-Aktionen aus
Erklärung von Ruby auf Schienen für Anfänger ⑥ ~ Erstellung der Validierung ~
Erklärung von Ruby on Rails für Anfänger ② ~ Links erstellen ~
Site Map im RSS / Atom-Format mit Ruby on Rails erstellt
Erklärung von Ruby on Rails für Anfänger ⑦ ~ Flash-Implementierung ~
Ruby on Rails Lernrekord -2020.10.03
Ruby on Rails Lernrekord -2020.10.04
[Ruby on Rails] Debuck (bindend.pry)
Ruby on Rails Lernrekord -2020.10.05
Ruby on Rails Lernrekord -2020.10.09
Vorbereitung für die Entwicklung mit Rails
Ruby on Rails lernen Rekord-2020.10.07 ②
Verwenden Sie mit Rails 6.0 mehrere Datenbanken
Ruby on Rails lernen Rekord-2020.10.07 ①
Brechen Sie die Ruby on Rails-Migration ab
Ruby on Rails Lernrekord -2020.10.06
Zusammenfassung der Ruby on Rails-Validierung
Ruby on Rails Grundlegendes Memorandum
Ich habe versucht, das Ruby on Rails-Plugin mit vim-plug zu installieren
[Ruby on Rails] Fügen Sie eine Spalte mit externen Schlüsselbeschränkungen hinzu
Erklärung von Ruby on Rails für Anfänger ③ ~ Erstellen einer Datenbank ~
Installieren Sie Ruby mit pacman auf MSYS2
[Ruby on Rails] Leseversuch (: [],: Schlüssel)
Ruby on Rails-Variablen, konstante Zusammenfassung
[Ruby on Rails] Paging-Funktion eingeführt
Progate Ruby on Rails5 Rückblick
Verwendung von Ruby on Rails
Programmieren mit Ruby (unterwegs)
Ruby on Rails Japanisch-Englisch kompatibler i18n
(Ruby on Rails6) Gepostete Inhalte "löschen"
[Ruby on Rails] CSV-Ausgabefunktion