質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

1回答

545閲覧

別コントローラーにリダイレクトされない

koala2

総合スコア24

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/09/04 02:31

Viewのform_tagにてコントローラーAのindexファンクションに飛ばした後、
コントローラーAのindexファンクション内で、コントローラーBのindexファンクション
にredirect_toを試みたところ、うまくリダイレクトできませんでした。以下ソースです。

VIEW

1 <%= form_tag :controller => 'test1', :action => 'index' do -%> 2 <%= submit_tag 'テストボタン' %> 3 <% end -%>

Rails

1class test1Controller < ApplicationController 2 def index 3  ~(略)~ 4   redirect_to controller: :test2, action: :index 5 end 6end

Rails

1class test2Controller < ApplicationController 2 def index 3  ~(略)~ 4 end 5end

上記のとき、test1のリダイレクトまでは進み、リダイレクトには成功しているようなのですが、test2内部のコードには進みませんでした。以下ログです(一部不要なところカット&変更しています)

log

1INFO: Started POST "/test1/index" for ***.***.***.*** 2INFO: Processing by Test1Controller#index as HTML 3INFO: Parameters: {********} 4INFO: Redirected to https://[ドメイン名]/test2 5INFO: Completed 200 OK in 100ms (ActiveRecord: 13.7ms | Allocations: 38111) 6

Completed 200にはなっているものの通常ならViewの表示時間(Views: X.Xms)などと表示があるはずなのにないことも気になります。
また、ルーティングエラーの可能性, double redirect errorの可能性なども考えましたが、どちらもログにエラーがはかれるため今回は違うと思い、手詰まりな状況です。

お力添えをお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

上記のとき、test1のリダイレクトまでは進み、リダイレクトには成功しているようなのですが、test2内部のコードには進みませんでした。
Completed 200にはなっているものの通常ならViewの表示時間(Views: X.Xms)などと表示があるはずなのにないことも気になります。

それで問題ありません。リダイレクトを行う場合、リダイレクト元の行うことは、Location:ヘッダ付きのレスポンスを返すこと、までです。それ以降は、ブラウザなどのクライアントが新たなリクエストを生成して、そちらで処理が進みます。

投稿2020/09/04 02:58

編集2020/09/04 02:59
maisumakun

総合スコア145208

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2020/09/04 02:59

クライアントがブラウザでない場合、「クライアント側がリダイレクトを処理できていない」ということも考えられます。
maisumakun

2020/09/04 03:01

(リダイレクトなのに200、というのもちょっとおかしい気はしますが)
winterboum

2020/09/04 03:35

もひとつ??なのはURLがFQDNになってますね。別サーバーにリダイレクトしてるみたいな。 redirect_to test2s_path だとどうなるだろう。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問