मैं अटक गया हूं। मैं पैपर्ट्राइल वाले मॉडल पर एसोसिएशन परिवर्तन (has_many
, has_many through
) को शामिल करने का तरीका जानने का प्रयास कर रहा हूं। मैं MyModel.versions.first.changeset
पर कॉल करना चाहता हूं और संबंधित वस्तुओं पर होने वाले किसी भी बदलाव को .changeset
हैश में ऑब्जेक्ट के उस संस्करण से वापस किया गया है।रेल/पैपर्ट्राइल: एसोसिएशन के साथ परिवर्तन
मैं संस्करण संघों के लिए माइग्रेशन जोड़ दिया है:
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
मैं संबद्ध वस्तुओं के लिए Papertrail को शामिल किया है, लेकिन जहाँ तक मैं बता सकता हूँ, वहाँ पुन: प्राप्त करने परिवर्तन है कि को हुई थी पर चर्चा नहीं प्रलेखन है संबंधित वस्तुओं। क्या कोई इस बात पर सहायता कर सकता है कि क्या यह पेपरट्राइल का उपयोग कर संभव है?
मैं एक मॉडल और उसके संबंधित ऑब्जेक्ट्स पर बदलावों के ऑडिट ट्रेल को कार्यान्वित करने की कोशिश कर रहा हूं जिसे एक परिवर्तन में एक्सेस किया जा सकता है।
मुझे लगता है कि मैं एक समान सुविधा की तलाश में हूं। मैं 'has_many' ऑब्जेक्ट पर' belong_to' परिवर्तन रिकॉर्ड करना चाहता हूं। जैसे, यदि किसी व्यक्ति के पास 'फ़ोन नंबर' है और आप किसी व्यक्ति संख्या को बदल/जोड़/हटाते हैं, तो यह उस रिकॉर्ड को रिकॉर्ड करेगा जो _person_ में परिवर्तन के रूप में रिकॉर्ड करता है, इसे फ़ोन नंबर में बदलाव के रूप में रिकॉर्ड नहीं करता है। – Luke
@ ल्यूक हाँ मैंने इसे थोड़ी देर पहले कोशिश की, लेकिन ऐसा नहीं लगता कि इस तरह के assocaition ट्रैकिंग ने इसे पूरी तरह से पैपरट्राइल में बनाया है, कुछ कठिनाइयों का वर्णन करने वाला एक पुराना टिकट है, वे भविष्य के संस्करण के लिए इस पर काम कर रहे हैं, मैं थोड़ी देर में इसे हर बार एक नजर रखें https://github.com/airblade/paper_trail/issues/503 – heinztomato