Estoy tratando de probar un controlador y recibí este error. Entiendo el error, pero no sé cómo solucionarlo.
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"].
Especifíquelo donde? Probé esto:
setup { post :create, { :user => { :email => 'invalid@abc' } },
{ 'referer' => '/sessions/new' } }
Pero obtuve el mismo error.
¿Especificarlo con qué, exactamente? Supongo que el URI de la vista a la que quiero que vuelva:
'/sessions/new'
¿Es eso lo que quieren decir?
OK, entonces resulta que quieren decir hacer esto:
setup do
@request.env['HTTP_REFERER'] = 'http://localhost:3000/sessions/new'
post :create, { :user => { :email => 'invalid@abc' } }, {}
end
¿Alguien puede decirme dónde está documentado? Me gustaría leer sobre el contexto de esa información.
¿Qué pasa si el dominio no es "localhost: 3000"? ¿Qué pasa si es "localhost: 3001" o algo así? ¿Alguna forma de anticipar eso?
¿Por qué no funciona esto?
setup { post :create, { :user => { :email => 'invalid@abc' } },
{ 'referer' => '/sessions/new' } }
Los documentos de Rails dicen específicamente que así es como se configuran los encabezados.