正常工作,我想使審計嵌套的協會,如我有審計,ActiveRecord的寶石不是多態關聯
用戶的has_many地址,即要麼
是homeAddress或OfficeAddress
現在,如果我只有一個表地址和我用類型和id來區分他們。在這種情況下,如果我使用associated_audits作爲用戶,那麼它只會創建一條審計記錄,並且每當我再次更新記錄時,它只是用最後一條記錄替換以前的審計記錄。
這裏是機型聯想:
class Patient < ActiveRecord::Base
devise :database_authenticatable, :registerable, :recoverable, :rememberable,
:trackable, :validatable, :confirmable, request_keys: [:subdomain]
has_one :home_address,-> { where(addr_type: 'home') },class_name: 'Address'
has_one :office_address,-> { where(addr_type: 'office') }, class_name: 'Address'
has_associated_audits
accepts_nested_attributes_for :home_address, allow_destroy: true
accepts_nested_attributes_for :office_address, allow_destroy: true
end
class Address < ActiveRecord::Base
belongs_to :patient
audited
end
「在,如果我使用的用戶associated_audits這種情況下,那麼它將使只有一個審計記錄」審計或地址?如果你需要幫助,請發佈你的模型和模式,不要假設人們會知道你在說什麼 – SomeSchmo
我已經提到了細節。現在你可以更新患者的嵌套屬性爲家庭地址或辦公地址,並可以檢查每次更新患者時只會有一次審覈。 – Jaswinder
如果您仍然從上面得到錯誤,您可能需要嘗試更改「類型」列。這是一個在rails中的保留名稱,通常會導致錯誤 – SomeSchmo