関連を介して has_many からモデルを検証するのに問題があります。以下は、関連するモデルです。
放送モデル
class Broadcast < ActiveRecord::Base
attr_accessible :content,
:expires,
:user_ids,
:user_id
has_many :users, through: :broadcast_receipts
has_many :broadcast_receipts, dependent: :destroy
validates :user_id, presence: true
validates :content, presence: true
end
同報受信モデル
class BroadcastReceipt < ActiveRecord::Base
belongs_to :broadcast
belongs_to :user
attr_accessible :user_id, :cleared, :broadcast_id
validates :user_id , presence: true
validates :broadcast_id , presence: true
end
また、ブロードキャスト レシートを通じて have_many ブロードキャスト レシートを送信するユーザーとの関連付けもあります。
問題は次の行にあるようです。
validates :broadcast_id , presence: true
ブロードキャストを作成しようとすると、ロールバックが発生し、エラー メッセージは表示されません。ただし、上記の行を削除すると、すべてが期待どおりに機能します。
これは、ブロードキャスト受信が作成される前にブロードキャストが保存されないという問題のようです。
Broadcast_id が受信モデルに設定されていることを検証できる方法はありますか?