Sono bloccato. Ho cercato di capire come includere le modifiche all'associazione (has_many
, has_many through
) su un modello che ha papertrail. Vorrei chiamare MyModel.versions.first.changeset
e fare in modo che eventuali modifiche apportate agli oggetti associati siano incluse nell'hash .changeset
restituito da quella versione dell'oggetto.Rails/Papertrail: changeset con modifiche dell'associazione
Ho aggiunto i migrazioni per le associazioni di versione:
class CreateVersionAssociations < ActiveRecord::Migration
def self.up
create_table :version_associations do |t|
t.integer :version_id
t.string :foreign_key_name, :null => false
t.integer :foreign_key_id
end
add_index :version_associations, [:version_id]
add_index :version_associations, [:foreign_key_name, :foreign_key_id], :name => 'index_version_associations_on_foreign_key'
end
def self.down
remove_index :version_associations, [:version_id]
remove_index :version_associations, :name => 'index_version_associations_on_foreign_key'
drop_table :version_associations
end
end
class AddTransactionIdColumnToVersions < ActiveRecord::Migration
def self.up
add_column :versions, :transaction_id, :integer
add_index :versions, [:transaction_id]
end
def self.down
remove_index :versions, [:transaction_id]
remove_column :versions, :transaction_id
end
end
ho aggiunto Papertrail agli oggetti associati, ma per quanto posso dire, non v'è alcuna documentazione discutere le modifiche il recupero che hanno avuto luogo sul oggetti associati. Qualcuno può aiutare se questo è possibile utilizzando Papertrail?
Sto tentando di implementare una traccia di controllo delle modifiche su un modello e sugli oggetti associati a cui è possibile accedere in un changeset.
Penso che sto cercando una funzionalità simile. Vorrei registrare una modifica 'belongs_to' sull'oggetto' has_many'. Ad esempio, se un 'Person' ha molti' PhoneNumber's e tu modifichi/aggiunga/cancelli un numero di persone, registrerà quella modifica come una modifica a _person_ non la registra come una modifica al numero di telefono. – Luke
@Luke, sì, ci ho provato un po 'indietro, ma non sembra che questi tipi di tracciamento assocaition lo abbiano già fatto completamente in papertrail, ecco un vecchio biglietto che descrive alcune difficoltà, ci hanno lavorato per la versione futura, io tieni d'occhio ogni tanto https://github.com/airblade/paper_trail/issues/503 – heinztomato