[解決済み] RailsでテストするときにHTTP_REFERERを設定するには?
2023-04-08 20:24:59
質問
あるコントローラをテストしようとしているのですが、このようなエラーが発生しました。エラーの内容は理解していますが、どのように修正すればよいのかわかりません。
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のドキュメント は、具体的には と書いてありますが、これはヘッダを設定する方法です。
どのように解決するのですか?
彼らの提言を訳すと、次のようになります。
setup do
@request.env['HTTP_REFERER'] = 'http://test.com/sessions/new'
post :create, { :user => { :email => 'invalid@abc' } }
end
関連
-
[解決済み] Paramが無いか、値が空である。ParameterMissing in ResultsController#update
-
[解決済み] Railsで `before_action` での `only:` はどのように機能するのですか?
-
[解決済み] 属性を割り当てる場合、引数としてハッシュを渡す必要がある
-
[解決済み] Rubyのswitch文の書き方
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] Rubyでnilとemptyとblankを理解する方法
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] エラーが発生しました。pgsqlをrailsで動作させようとすると、Peer authentication failed for user "postgres" と表示されます。
-
[解決済み] Ruby on RailsでJSON出力を "きれい "にフォーマットする方法
-
[解決済み】Railsの認証トークンを理解する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】なぜRuby on Railsは、http://localhost:3000 の代わりに http://0.0.0.0:3000 を使用するのですか?
-
[解決済み】gemのインストールができない - gemネイティブ拡張の構築に失敗 - そのようなファイルをロードできない -- mkmf (LoadError)
-
[解決済み】PG::ConnectionBad: fe_sendauth: パスワードが供給されない
-
[解決済み] Ruby/Rails の「フック」とは何ですか?
-
[解決済み] デバイスを使用する現在のユーザーメソッド
-
[解決済み] Rubyで変数をインクリメントする [重複]。
-
[解決済み] railsアプリケーションでCookieのオーバーフロー?
-
[解決済み] railsでhidden fieldタグを使用する方法
-
[解決済み] Ruby:Rubyの配列にinclude.の反対はある?
-
[解決済み] 未初期化の定数 "コントローラ名"