Saya mencoba menguji pengontrol dan saya mendapatkan kesalahan ini. Saya memahami kesalahan tersebut, tetapi tidak tahu cara memperbaikinya.
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"].
Tentukan dimana? Saya mencoba ini:
setup { post :create, { :user => { :email => 'invalid@abc' } },
{ 'referer' => '/sessions/new' } }
Namun mendapat error yang sama.
Tentukan dengan apa tepatnya? Saya kira URI tampilan yang saya inginkan untuk kembali ke:
'/sessions/new'
Itukah yang mereka maksud?
Oke, ternyata yang mereka maksud lakukan ini:
setup do
@request.env['HTTP_REFERER'] = 'http://localhost:3000/sessions/new'
post :create, { :user => { :email => 'invalid@abc' } }, {}
end
Dapatkah seseorang memberi tahu saya di mana itu didokumentasikan? Saya ingin membaca tentang konteks informasi itu.
Bagaimana jika domainnya bukan "localhost: 3000"? Bagaimana jika itu "localhost: 3001" atau semacamnya? Adakah cara untuk mengantisipasi hal itu?
Mengapa ini tidak berhasil:
setup { post :create, { :user => { :email => 'invalid@abc' } },
{ 'referer' => '/sessions/new' } }
Dokumen Rails secara khusus mengatakan begitulah cara Anda mengatur header.