我正在使用事务和异常处理动态创建一系列对象。现在它按预期处理回滚和所有事情,但我的救援块不会尝试呈现我告诉它的动作。
这是我处理交易的代码
def post_validation
ActiveRecord::Base.transaction do
begin
params[:users].each do |user|
#process each user and save here
end
redirect_to root_path #success
rescue ActiveRecord::RecordInvalid
# something went wrong, roll back
raise ActiveRecord::Rollback
flash[:error] = "Please resolve any validation errors and re-submit"
render :action => "validation"
end
end
end
失败时的预期:回滚事务并呈现操作“验证”。
失败时发生的情况:回滚事务并尝试呈现不存在的视图“post_validation”。