前提・実現したいこと
Rails5.2.4.3 Ruby2.6.3環境でアプリケーション構築しています。
コントローラにてDB登録成功し、redirectさせようとしています。
しかし下記のリダイレクトURLが変ってしまう事象の為リダイレクトできません。
同様の事象に合われ、解決された方のお知恵をお借りしたいです。
発生している問題・エラーメッセージ
redirect_to メソッドでurlを指定して実行していますが、
ログ上に以下が出力され、リダイレクトできません。
Redirected to http://localhost:3000/XXXX/YY
Completed 406 Not Acceptable in 200ms (ActiveRecord: 119.1ms)
ActionController::UnknownFormat (ActionController::UnknownFormat):
となります。
該当のソースコード
url = '/XXXX/' + YY
redirect_to url
試したこと
Fidderツールで見たところ、該当のリクエストのurlが
/XXXX/YYではなく、自身のコントローラパスになっており、
さらにContent-Typeが、text/htmlではなく、text/plainになっていました。
おそらくこれが、UnknownFormat の原因だと思います。
補足情報(FW/ツールのバージョンなど)
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
自己解決
本件解決しました。コントローラのredirect_toにばかり目がいっていましたが、
原因はformタグの指定が、画面更新を非同期で行う様な指定になっていたためでした。
以下記事を見てわかりました。
http://tokyo.supersoftware.co.jp/technology/8006
<%= form_with model:@XXXX_XXXX do |f| %>
としていたところ、以下の様にlocal: trueを追加しました。
<%= form_with model:@XXXX_XXXX, local: true do |f| %>
ご協力頂きましたwinterboum様には、貴重な日曜日にお時間頂き最後までご丁寧な回答を頂き
感謝致します。本当に有難うございました。
投稿2020/10/25 07:33
総合スコア6
0
url = '/XXXX/' + YY の結果は '/XXXX/YY' でしょうか?
でしたら http://localhost:3000/XXXX/YY へredirectしようと言うのは正しい動きです。
実際にはどこに行きたいのでしょう?
投稿2020/10/25 03:30
総合スコア23567
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/25 03:39
2020/10/25 03:45
2020/10/25 03:52
2020/10/25 04:00
2020/10/25 04:05
2020/10/25 04:15
2020/10/25 05:10
2020/10/25 05:11
2020/10/25 05:50
2020/10/25 06:36
2020/10/25 06:55
2020/10/25 07:03
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/25 07:37