在我的控制器中,我有这个:
class TestController < ApplicationController
respond_to :html, :json
# code...
def create
@test = current_user.tests.create(params[:test])
respond_with @test, location: tests_url
end
# code...
end
这很酷,当我创建 时test
,它会重定向到test#index
(如预期的那样),但是,如果我按下F5
,浏览器会要求我重新提交表单。
如果我从中删除该location
语句respond_with
就可以了,但不会转到我想要的 URL。
我该如何解决这个问题?
提前致谢。
编辑
我将方法更改为
@test = current_user.tests.new(params[:transaction])
respond_with(@test) do |format|
format.html { redirect_to "/tests/" } if @test.save
end
它有效.. 但是,我不得不使用 String 而不是tests_url
.
编辑 2
编辑 3
我无法用 Ruby 1.9.3-p327 重现它,只能在 -p385 中。