2017-05-22 2 views
0

Gibt es eine Möglichkeit, den Referenznamen mit dem Befehl "rails generate" zu definieren?Referenzname definieren

Es gibt Tabelle A mit zwei Feldern - a1 und a2: Verweise auf Tabelle B.

Antwort

1

Eines der wichtigsten Prinzipien der Schienen ist „Konvention über Konfiguration“. Es funktioniert gut für Fälle wie diesen:

rails generate model Player team:references 

Diese Spalte schaffen team_id und als Fremdschlüssel zur Tabelle teams markieren.

Dies deckt 90% aller möglichen Bedürfnisse (gebildet guesstimate). Wenn Sie ein "Standard" -Modell haben, erzeugen Sie in Sekundenschnelle das Muster dafür. Aber wenn Sie einen exotischeren Fall haben (wie den in der Frage), dann müssen Sie ein wenig manuelle Arbeit machen und die Definitionen der Migrationsdatei und Modellbeziehungen selbst treffen. Das ist auch ziemlich einfach.

t.references :a1, references: :b 
t.references :a2, references: :b 
+0

Ich schätze Ihre Antwort. Ich muss jedoch wissen, ob ich die manuelle Bearbeitung von Migrationsdateien vermeiden oder eine Umgehungslösung schreiben kann. – ar7max

+1

@ ar7max Ich denke, ich habe das beantwortet. Ihre Beziehungen sind "unkonventionell", und Sie bekommen weniger Hände von den Schienen. –

+0

ok, ich werde es akzeptieren. Vielen Dank. – ar7max