我正在尝试将我的项目从 php 迁移到 rails。Mow,我面临着一个 pb 到我有 php 解决方案的女巫,但我不知道如何使它与 rails 一起工作。
这是我的桌子
ads
id
category_id
title
text
ad_real_estate_details
id
ad_id
nb_room
floor
ad_car_details
id
ad_id
color
brand
这是我成功的做法:
class Ad < ActiveRecord::Base
attr_accessible :category_id :title, :text, :ad_real_estate_details
has_one :ad_real_estate_details
accepts_nested_attributes_for :ad_real_estate_details, allow_destroy: true
end
class AdRealEstateDetail < ActiveRecord::Base
belongs_to :ad
validates :ad_id, presence: true
end
但是,这不适用于房地产以外的其他类别。
所以我在考虑多态,但是多态意味着我应该在我的“广告”表中添加一个引用到详细表,并从详细表中删除 annonce_id,我认为这是无稽之谈,因为有些广告可以没有细节,而细节是非- 没有广告的感觉。
我也在考虑一个抽象类 AdDetails,并且 AdRealEstateDetail 将从它继承,但是这对于 rails 是不可能的,因为所有子类都将共享同一个表。
有没有人有解决这种问题的方法?
谢谢