我有一个通过ajax提交的Rails 4表单,并且应该在成功或失败时使用json对象进行响应 - 但由于某些奇怪的原因,它在保存到db并存储flash消息后进行重定向。
def update
success = lambda do |financing, message|
flash[:success] = message
track("Updated", { :customer_id => customer.id, :object_id => financing.id })
render :status => 200, :json => { message: message, next_url: customer_objects_path }
end
failure = lambda do |form|
@object = form
render :status => 400, :json => { :errors => form.errors }
end
::Actions::Object::EditObject.new(object_params).execute(success, failure, attributes)
end
这是控制器方法。 actions参数运行更新,然后调用成功,看起来重定向发生在flash[:success] = message
之后和track
调用之前。
此外,这在开发环境中的本地计算机上完全无法重现,但只能在分段时重现。我在我的本地计算机上运行了暂存环境,并且能够重现错误,但是当我使用byebug
时,它工作正常,所以此时我不确定下一步要去哪里。