Я пытаюсь протестировать контроллер и получаю эту ошибку. Я понимаю ошибку, но не знаю, как ее исправить.
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 конкретно сказано , как вы устанавливаете заголовки.