[RUBY] So erhalten Sie Informationen zu zugeordneten Tabellen in vielen-zu-vielen-Tabellen

Was Sie in diesem Artikel sehen können

Organisieren Sie eine Vereinigung so, dass eine Viele-zu-Viele-Beziehung besteht So erhalten Sie Informationen zur zugehörigen Tabelle.

Annahme

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.

visualMusic-Page-2.png

visualMusic-Page-3.png

Damit Erstellen Sie eine Eins-zu-Viele-Tabelle. Erstellen Sie gleichzeitig eine Zwischentabelle.

Was Sie implementieren möchten

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.

Beispiel ① Tabellendiagramm

visualMusic-Page-4 (2).png Wenn der zugehörige rosa Songtitel auch auf derselben Seite angezeigt wird, ist er erfolgreich. Hast du verstanden, was du machen wolltest?

Tatsächlicher Code

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]".

Punkt

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!

Ein Wort Memo

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

So erhalten Sie Informationen zu zugeordneten Tabellen in vielen-zu-vielen-Tabellen
So erhalten Sie Parameter in Spark
So erhalten Sie das Datum mit Java
[Rails] So erhalten Sie die aktuell mit devise angemeldeten Benutzerinformationen
[Rails] Verwenden Sie devise, um Informationen zum aktuell angemeldeten Benutzer abzurufen
So erhalten Sie Keycloak-Anmeldeinformationen in der Interceptor-Klasse
So erhalten Sie eine Klasse von Element in Java
Bibliothek "OSHI" zum Erfassen von Systeminformationen mit Java
So erhalten Sie den Namen einer Klasse / Methode, die in Java ausgeführt wird
So erhalten Sie Werte in Echtzeit mit TextWatcher (Android)
So erhalten Sie die längsten Informationen von Twitter ab dem 12.12.2016
Überwachen von Anwendungsinformationen in Echtzeit mit JConsole
[Schienen] Anzeigen von Informationen, die in der Datenbank gespeichert sind
Wie man Lombok im Frühling benutzt
So finden Sie May'n in XPath
Verwendung von HttpClient (Get) von Java
So blenden Sie die Bildlaufleiste in WebView aus
Wie fange ich mit schlank an?
[Rails] Anzeigen von Datenbankinformationen
So führen Sie JUnit in Eclipse aus
Wie man in Ruby auf unbestimmte Zeit iteriert
Wie man Ant in Gradle ausführt
Wie man die Programmierung in 3 Monaten beherrscht
[Rails] So zeigen Sie übergeordnete Informationen in der untergeordneten Ansicht in verschachtelten Beziehungen an
Wie man JAVA in 7 Tagen lernt
So installieren Sie Bootstrap in Ruby
Verwendung von InjectorHolder in OpenAM
So erhalten Sie die ID des automatisch inkrementierten PRIMAY-Schlüssels in MyBatis
So erhalten Sie den Wert von Boolean mit jQuery in einfacher Rails-Form
So installieren Sie jQuery in Rails 6
Wie verwende ich Klassen in Java?
Speichern der im Textbereich eingegebenen Informationen in einer Variablen in der Methode
So benennen Sie Variablen in Java
Abrufen und Hinzufügen von Daten aus dem Firebase Firestore in Ruby
So setzen Sie Lombok in Eclipse
Wie man über Klassengestaltung (Division) in einem Geschäftssystem nachdenkt (1)
So ermitteln Sie die Länge einer Audiodatei mit Java
So bringen Sie JDK 11 bequem in den Mac
So verketten Sie Zeichenfolgen mit Java
So installieren Sie Swiper in Rails
So erhalten Sie das aktuelle Datum als Zeichenfolge im Format JJJJMMTT
So erhalten Sie den Einstellungswert (Eigenschaftswert) aus der Datenbank in Spring Framework
So ermitteln Sie den absoluten Pfad eines in Java ausgeführten Verzeichnisses
So erstellen Sie Ihre eigene Anmerkung in Java und erhalten den Wert
So erhalten Sie eine Liste mit Excel-Blattnamen in Java (POI vs SAX)
[swift5] So legen Sie die Farbe hexadezimal fest
So implementieren Sie Suchfunktionen in Rails
So implementieren Sie die Datumsberechnung in Java
Mehrsprachige Unterstützung für Java Verwendung des Gebietsschemas
So ändern Sie den App-Namen in Rails
Verwendung des benannten Volumes in docker-compose.yml
So filtern Sie den JUnit-Test in Gradle
So standardisieren Sie die Kopfzeile in Thymeleaf
Wie kann ich Spring Tool in Eclipse 4.6.3 einbinden?
[Hinweis] Erste Schritte mit Rspec
So fügen Sie eine JAR-Datei in ScalaIDE hinzu