つまり、Railsでリレーションシップにモデルのインスタンスを少なくとも1つ要求することは可能ですか?
たとえば、私の中には次のdiscussion.rb
ものがあります。
has_many :posts
そして私の中でpost.rb
:
belongs_to :discussion
ディスカッションを作成するには、少なくとも1つの投稿が必要であるようにするにはどうすればよいですか?この質問の検索方法がわからなかったので、すでに質問されている場合はお詫び申し上げます。
つまり、Railsでリレーションシップにモデルのインスタンスを少なくとも1つ要求することは可能ですか?
たとえば、私の中には次のdiscussion.rb
ものがあります。
has_many :posts
そして私の中でpost.rb
:
belongs_to :discussion
ディスカッションを作成するには、少なくとも1つの投稿が必要であるようにするにはどうすればよいですか?この質問の検索方法がわからなかったので、すでに質問されている場合はお詫び申し上げます。
validates_presence_ofは私が思うトリックを行います。
投稿レコードをディスカッションに関連付けるには、discussion_id外部キーが必要です。投稿が作成されるまで、ディスカッションを作成(およびIDを指定)することはできません。それはキャッチ22です。
投稿が作成された後にのみtrueに反転する、ディスカッションモデルの「完全な」ブール値など、他の何かを導入する必要があります。