У меня есть транзакция, чтобы две модели были сохранены одновременно.
begin
Recipe.transaction do
@recipe.save!
if @dish
@dish.save!
end
end
rescue
#save failed
flash[:notice] = "recipe.saved = #{@recipe.new_record?}"
render 'form'
else
#save worked
flash[:notice] = 'Recipe added.'
redirect_to(@recipe)
end
при сбое проверки для одной из моделей она отправляется в блок восстановления, однако в блоке восстановления говорится, что модель не является новой записью. я ожидал, что проверка приведет к сбою транзакции, оставив объект модели в качестве новой записи? что мне здесь не хватает?