1
我有與多態關聯的一些問題在Rails的3.我的模型態關聯看起來是這樣的:問題與在子類中
class Address < ActiveRecord::Base
belongs_to :contactable, :polymorphic => true
end
class OrganisationUnit < ActiveRecord::Base
# some other associations
end
# Subclass of OrganisationUnit
class Company < OrganisationUnit
has_one :address, :as => :contactable
end
現在,當我希望得到一個公司的地址時,Rails下面的SQL查詢:
SELECT `addresses`.* FROM `addresses` WHERE (`addresses`.contactable_id = 1021 AND `addresses`.contactable_type = 'OrganisationUnit') LIMIT 1
在我看來這是錯的,因爲contactable_type應爲「公司」。 有沒有什麼辦法可以解決這個問題,或者告訴rails OrganisationUnit只是一個抽象基類?
是啊,thx,你是對的,我只是改變了數據庫中的類型,現在它的工作... – krebbl
@krebbl我遇到了同樣的問題。我們如何修復子類的類型? –