Organisieren Sie eine Vereinigung so, dass eine Viele-zu-Viele-Beziehung besteht So erhalten Sie Informationen zur zugehörigen Tabelle.
Sprache: Ruby Nehmen Sie als Beispiel die App, an der ich arbeite. Ich habe eine Viele-zu-Viele-Verbindung zwischen der CD und den darauf aufgenommenen Songs hergestellt. Viele-zu-viele-Gründe: Die CD enthält mehrere Songs. Das Lied kann auf mehreren CDs sein.
Damit Erstellen Sie eine Eins-zu-Viele-Tabelle. Erstellen Sie gleichzeitig eine Zwischentabelle.
Basierend auf dieser Discs-Tabelle Viwe (show.haml.html) ist vorbereitet, weil ich für jede CD eine detaillierte Seite erstellen möchte.
(URL▶︎localhost:3000/discs/1)
Beispiel ①: Wenn disc_id 1
ist
Informationen, die Sie erhalten / anzeigen möchten: Mit CD-A verknüpfte Songs (Song-A, Song-B, Song-C)
Beispiel ②: Wenn disc_id 2
ist
Informationen, die Sie erhalten / anzeigen möchten: Mit CD-B verknüpfte Songs (Song-A, Song-D, Song-E)
: point_right_tone1: Ich möchte auch Informationen aus verwandten Tabellen erhalten! Das ist diesmal das Ziel.
Wenn der zugehörige rosa Songtitel auch auf derselben Seite angezeigt wird, ist er erfolgreich. Hast du verstanden, was du machen wolltest?
Hier wird die ID in der URL angezeigt. Zum Beispiel disc_id: 1. Der Benutzer kann anweisen, dass er die Informationen auf der ID: 1-CD haben möchte.
discs_controller.rb
class DiscsController < ApplicationController
#Kürzung
def show
@disc = Disc.find(params[:id])
end
#Kürzung
end
ruby:show.html.haml(show.html.Konvertieren Sie für erb haml in html. )
- @disc.songs.each do |song|
= song.name
Geben Sie für das Routing Folgendes ein: show like "resources: discs, only: [: show]".
Ich denke, der Punkt ist die Beschreibung, wenn man sich auf den Tisch setzt.
ruby:show.html.haml(show.html.Konvertieren Sie für erb haml in html. )
- (params[:id]Erhaltene Variable).(Zugehöriger Tabellenname, den Sie verdienen möchten).each do |(Unten verwendete Variablen)|
=(Die oben angegebenen Variablen).(Spaltenname, den Sie in der Einkommenstabelle anzeigen möchten)
Ich dachte, die Erklärung wäre Mist, aber ich habe sie ausführlich geschrieben.
Ich glaube, ich konnte es oben anzeigen. Danke für deine harte Arbeit!
Ich bin ehrlich gesagt wirklich ein Anfänger Derzeit sind die Vorzüge der Gründung eines Vereins, Ich habe die Vorzüge einer Eltern-Kind-Beziehung nicht eingeholt. Dieses Mal stellte ich jedoch fest, dass durch das Erstellen von vielen zu vielen andere Tabelleninformationen auch in der Ansicht abgerufen werden können, die mit einer einzelnen Tabelle verknüpft ist. Ich habe festgestellt, dass die Informationen von der URL, die vom Client empfangen werden können, von "/ discs / 1", "/ discs / 1 / song", "discs / new" usw. stammen. Außerdem habe ich beim Routing gerade bemerkt, dass ich Anweisungen von der Hauptinformationsquellentabelle erhalten habe, die angezeigten viwe-Informationen erhalten habe und die mit der Steuerung aus der Tabelle abgerufenen Informationen beschreiben konnte.
Wenn jemand, der sich ähnlich Sorgen um die Grundlagen macht, einige Hinweise dazu bekommen kann, Es sollte für mich Sinn machen, hier zu stolpern! ich dachte Ich habe es hier als Artikel für mich aufgenommen, der in Zukunft wieder am selben Ort stolpern wird. Vielen Dank für das Lesen bis zum Ende: entspannt: Wir sehen uns wieder: Welle:
Recommended Posts