2 つのモデルがあるとします。
class User < ActiveRecord::Base
has_one :blog
end
class Blog < ActiveRecord::Base
belongs_to :user
validates_presence_of :user
validates_uniqueness_of :user_id
end
ブログを持っているユーザーが 1 人いるとします。なんらかの理由で、同じユーザーを呼び出すふりをしましょうcreate_blog
(ユーザーは既にブログを持っているため、オプションではないことはわかっています)。このブログが検証に合格せず、合格しない場合、保存されないだけでなく、ユーザーが持っていた以前のブログが削除されます。
なぜこうなった?最初のブログが削除されるのはなぜですか? この動作は予期されたものですか、それとも何か不足していますか?