2016-03-29 8 views
1

için düzgün çalışmıyor Tablo Adres ve ben onları ayırmak için tip ve kimlik kullandık. Bu durumda Kullanıcı için related_audits kullanırsam, o zaman sadece bir denetim kaydı yapar ve rekoru yeniden güncellediğimde, önceki denetimi sadece son denetimle değiştirir. Denetim "o zaman sadece bir denetim kayıt yapacak ben Kullanıcı için associated_audits kullanıyorsanız bu durumda" veya AdresGeçmiş-activerecord mücevher ben sadece bir tane varsa</p> <p>Kullanıcı has_many adresleri ya</p> <p>HomeAddress veya Şimdi OfficeAddress</p> <p>yani var gibi iç içe geçmiş dernekler için denetimleri yapmak istiyorum polimorfik dernekler

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 
+0

: Burada

modelleri dernek nedir? Eğer yardım istiyorsanız lütfen modellerinizi ve şemayı gönderin, insanların sadece ne hakkında konuştuğunu bilmediklerini varsayın. – SomeSchmo

+0

Detayları belirtmiştim.Nasıl ev adresi veya ofis adresi için iç içe geçmiş özellikleri olan hastayı güncelleyebilir ve kontrol edebilirsiniz Eğer hasta – Jaswinder

+0

'u her güncellediğinizde bunun için tek bir denetim olacaktır. Eğer hala yukarıdaki hatayı alıyorsanız, 'type' sütununuzu değiştirmeyi deneyebilirsiniz. Bu raylarda ayrılmış bir isim ve sık sık hatalara neden oluyor – SomeSchmo

cevap

1
class Address < ActiveRecord::Base 
    belongs_to :patient 
    audited associated_with: :patient 
end 

class Patient < ActiveRecord::Base 
    has_many :addresses 
    has_associated_audits 
end 
+1

Ama aynı zamanda ikiden fazla ilişkili denetimlerimiz varsa, diğer model denetimleri de gruplayacaktır. – Jaswinder

+0

Hayır, hangi modelle ilgili olduğunu söyleyene kadar grup kurmayacaktır. – user2659613

+1

Aslında, has_many: address'.Patient kullanmak istemiyorum sadece bir ofis adresi ve bir ev adresi vardır. Ayrıca, belirli bir sütun için denetlenmiş kullandığımızda, geçişi gerçekleştirirken kırılacaktır. – Jaswinder

İlgili konular