我有一个带有标准字段的设计用户模型。用户可以拥有个人资料或房屋,但不能同时拥有两者。
class User < ActiveRecord::Base
attr_accessible ..... :profile_type
has_one :profile, :dependent => :destroy
has_one :house, :dependent => :destroy
end
在当前状态下,用户可以同时拥有个人资料和状态。假设这样做: User.first.profile 返回配置文件。然后我可以做 User.first.house,返回 nil。这似乎不太好 - 事实上,我似乎稍后会遇到无效数据问题。
编辑:这是针对人们正在寻找住宿地点或他们有住宿地点的情况。所以我有两类用户,一个人可以是。这两个类别非常不同(即寻找住宿地点的人与有住宿地点的人将拥有非常不同的领域)。
无论如何要强制执行这种“两者”关系吗?我对 Rails 很陌生,请注意。