我正在尝试测试控制器,但出现此错误。我了解该错误,但不知道如何解决。
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文档专门指出了设置标题的方式。