オブジェクトの作成後に検証をスキップしたい。例を見てみましょう
人にはたくさんの会社があり、会社にはたくさんの人がいます
人には多くのプレースメントがあり、プレースメントは人に属します人はアクティブなプレースメントを1つだけ持つことができます
配置モデルには、保存時にユーザーがすでにアクティブな配置を持っているかどうかを確認する検証が1つあります。
@placement is active placement
@employment.placement = @person
if @placement.save
#################
@person.placements << @placement
@company.placements << @placement
end
これで、プレースメントが初めて保存されたときに、問題なく保存されます。
今問題が来るのは
@person.placements << @placement
その人はすでに@placement.saveを介してアクティブな配置を持っているので。
@ person.placements << @placementは再び@placementを保存し、検証により検証エラーが@placementオブジェクトに発生します。
コードの############領域のどこかで、その特定の検証を行わないように指示する方法はありますか?
または、代替ソリューションを歓迎します。
ありがとう