1. ホーム
  2. ruby-on-rails

[解決済み] 空の belongs_to 関連についてのベストプラクティス

2023-07-02 18:50:53

質問

次のような状況を想定してください。

私の手元にある dog モデルと house のモデルです。犬は家に属することができ、家は多くの犬を持つことができます、だから。

Class Dog <  ActiveRecord::Base
  belongs_to :house
end

Class House < ActiveRecord::Base
  has_many :dogs
end

さて、家を持たない犬も作りたいと想像してください。彼らは家に属していないのです。このような場合でも、関係構造を使用し、単に :house_id を通知しないだけでよいのでしょうか?

より良い方法はありますか?

観察..: 私は問題を単純化するためにこのアナロジーを使用しましたが、私の実際の状況は次のとおりです:私はモデルを持っており、ユーザーはそのインスタンスを生成することができます。彼はまた、それらのインスタンスのコレクションを作成することができますが、彼はコレクションの外にインスタンスを残すことができます。

どのように解決するのですか?

ごく普通の方法だと思います。

を残すだけでいいんです。 house_idnull の値としてデータベースに保存します。