我面临模特问题。我有3个型号:用户,地址和住所
用户:
class User < ActiveRecord::Base
acts_as_paranoid
has_one :address, dependent: :destroy #should be has_many but not current problem
has_many :objects, dependent: :destroy
has_many :residences, dependent: :destroy
end
地址
class Address < ActiveRecord::Base
acts_as_paranoid
belongs_to :user, inverse_of: :address
belongs_to :residence, inverse_of: :address
validates :user, presence: true
端
住所:
class Residence < ActiveRecord::Base
belongs_to :user
has_one :address, through: :user, dependent: :nullify
has_many :objects, through: :user
end
问题是当我想要删除用户或住所时系统因外键而无法删除住所,并且系统告诉我由于仍然参考地址表中的住所而无法完成。
当我删除住所时,我不想删除与住宅相关联的地址,地址应仅删除用户删除(这就是为什么我尝试使用nullify
没有运气。
我需要使用连接表而不是住宅和地址之间的引用吗?
由于