標準フィールドを持つ Devise User モデルがあります。ユーザーはプロファイルまたはハウスのいずれかを持つことができますが、両方を持つことはできません。
class User < ActiveRecord::Base
attr_accessible ..... :profile_type
has_one :profile, :dependent => :destroy
has_one :house, :dependent => :destroy
end
この現在の状態では、ユーザーはプロファイルと状態の両方を持つことができます。User.first.profile はプロファイルを返します。その後、nil を返す User.first.house を実行できます。それはあまりいいことではないようです。実際、後で無効なデータの問題に遭遇するようです。
編集: これは、人々が滞在する場所を探しているか、滞在する場所を持っている状況です。したがって、人がなり得るユーザーには2つのカテゴリがあります。これらの 2 つのカテゴリは非常に明確です (つまり、宿泊先を探している人と、宿泊先を持っている人とは非常に異なる分野を持っています)。
この「どちらか」の関係を強制する方法はありますか? 私はRailsにとても慣れていません。