Come si crea una migrazione con due campi che fanno riferimento alla stessa tabella? Ho tabelle A e immagine. A.image1_id farà riferimento all'immagine e A.image2_id farà riferimento anche all'immagine. Ci sono solo 2 immagini, non molte. Se usoCome si aggiunge la migrazione con più riferimenti allo stesso modello in una tabella? Ruby/Rails
class AddFields < ActiveRecord::Migration
def change
change_table(:ticket) do |t|
t.references :image1_id
t.references :image2_id
end
end
end
non credo che funzionerà perché si aggiungerà un altro _id fino alla fine e probabilmente non saprà utilizzare il modello 'immagine'. Ho anche pensato a
change_table(:ticket) do |t|
t.references :image
Ma allora come aggiungo due di quelli? Ho anche pensato di aggiungere
create_table :images do |t|
t.belongs_to :ticket
t.string :file
Ma io voglio solo 2, non molti, e questo non sembra consentire di ottenere l'immagine dal ticket, come ticket.image1
o ticket.image2
.
Secondo questa documentazione http://apidock.com/rails/v3.2.8/ActiveRecord/ConnectionAdapters/SchemaStatements/change_table che è tutto ciò che ho potuto trovare, t.references non sembra prendere alcun argomento neanche.
change_table(:suppliers) do |t|
t.references :company
end
Penso che ora creerei solo una relazione e avremo un filtro 'before_save' o' validate: my_validation' per limitare la relazione a 2 record. – Chloe