class RecordBase < ActiveRecord::Base
self.abstract_class = true
end
class ArAndEcrBase < RecordBase
self.abstract_class = true
# Relations
belongs_to :originator, class_name: 'User', foreign_key: 'originator_id'
has_many :attachments
end
class Ar < ArAndEcrBase
end
I Ar alt sınıfında başka bir kayıt türünü işleyen bir sınıfla bazı ilişkileri paylaşmak ister, ancak has_many ilişkisi çalışmaz.
aşağıdaki çalışır:
> Ar.last.originator
=> #<User id: 1, ...
aşağıdaki çöker: Has_many ilişki iyi çalışmıyor Nedense
> Ar.last.attachments
Mysql2::Error: Unknown column 'attachments.ar_and_ecr_base_id'
. Bu sütunda için görünmelidir attachments.ar_id ve yanlış bir şey yapıyor muyum değil
attachments.ar_and_ecr_base_id? Yoksa bu bir Rails hatası mı?
class Ar < ArAndEcrBase
has_many :attachments
end
'inverse_of' seçeneğini kullanmayı denediniz mi? – SomeSchmo
Merhaba Rocco! bu seçeneği hiç duymamıştı. Ayarlanmış çalıştı ama işe yaramadı. Bende aynı hatayı aldım Neyse teşekkürler! – nuno
Atm kod çalışmasının tek yolu, has_many ilişkisini Ar sınıfına taşımaktır: – nuno