Wie erstelle ich eine Migration mit zwei Feldern, die auf die gleiche Tabelle verweisen? Ich habe Tabellen A und Bild. A.image1_id verweist auf das Bild, und A.image2_id verweist ebenfalls auf das Bild. Es gibt nur 2 Bilder, nicht viele. Wenn ichWie füge ich eine Migration mit mehreren Verweisen auf dasselbe Modell in einer Tabelle hinzu? Ruby/Rails
class AddFields < ActiveRecord::Migration
def change
change_table(:ticket) do |t|
t.references :image1_id
t.references :image2_id
end
end
end
verwende ich glaube nicht, das wird funktionieren, weil es eine anderen _id bis zum Ende hinzufügen und wird wahrscheinlich nicht wissen, das ‚Bild‘ Modell zu verwenden. Ich dachte auch über
change_table(:ticket) do |t|
t.references :image
Aber dann, wie kann ich zwei von denen hinzufügen? Ich dachte auch über
create_table :images do |t|
t.belongs_to :ticket
t.string :file
Zugabe Aber ich will nur 2, nicht viele, und dies scheint nicht von dem Ticket für das Bild bekommen zu ermöglichen, wie ticket.image1
oder ticket.image2
.
Nach dieser Dokumentation http://apidock.com/rails/v3.2.8/ActiveRecord/ConnectionAdapters/SchemaStatements/change_table das ist alles, was ich finden konnte, scheint t.references auch keine Argumente zu nehmen.
change_table(:suppliers) do |t|
t.references :company
end
Ich denke, jetzt würde ich nur eine Beziehung erstellen und einen 'before_save' Filter oder' validate: my_validation' haben, um die Beziehung auf 2 Datensätze zu begrenzen. – Chloe