最佳答案
我试图测试一个控制器,我得到了这个错误。我知道这个错误,但不知道如何修正。
test: on CREATE to :user with completely invalid email should respond with
redirect
(UsersControllerTest):ActionController::RedirectBackError:
No HTTP_REFERER was set in the request to this action,
so redirect_to :back could not be called successfully.
If this is a test, make sure to specify request.env["HTTP_REFERER"].
具体在哪里? 我试过这个:
setup { post :create, { :user => { :email => 'invalid@abc' } },
{ 'referer' => '/sessions/new' } }
但也出现了同样的错误。
具体用什么来指定它? 我想我希望它返回的视图的 URI 是:
'/sessions/new'
是这个意思吗?
好吧,原来他们的意思是这样做:
setup do
@request.env['HTTP_REFERER'] = 'http://localhost:3000/sessions/new'
post :create, { :user => { :email => 'invalid@abc' } }, {}
end
有人能告诉我哪里有记录吗? 我想了解一下这些信息的背景。
如果域不是“ localhost: 3000”怎么办? 如果域是“ localhost: 3001”或其他什么怎么办? 有什么办法可以预测到吗?
为什么这个不起作用:
setup { post :create, { :user => { :email => 'invalid@abc' } },
{ 'referer' => '/sessions/new' } }
Rails 对 明确地说进行文档记录,这就是设置标题的方法。