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

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

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

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

Q&A

解決済

1回答

464閲覧

rails のredirect toがきかない

NN77

総合スコア59

Ruby on Rails 5

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

0グッド

0クリップ

投稿2020/01/27 15:54

編集2020/01/27 16:38

発生している問題・エラーメッセージ

ページのURLが変更した為、config/routes.rbに以下のようにリダイレクトのコードを記載いたしましたが、
なぜか旧urlをたたいても404になってしまい、新しいurlに遷移しません。

旧url
ドメイン名/muninka/chiyoda_ku?category=22

新url
ドメイン名/muninka/chiyoda_ku?category=21

Rails.application.routes.draw do get '/muninka/chiyoda_ku?category=22', to: redirect('/muninka/chiyoda_ku?category=21') end

参考記事:https://www.sejuku.net/blog/13078
何か記載方法に間違いがあるのでしょうか・・・
もし原因の検討がつく方がいらっしゃれば、アドバイス願えますと幸いです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

routes.rb に get '/muninka/chiyoda_ku?category=22'といったパラメータ指定の記述ってできます?
参考にのURLにはそういう記述は見当たりません。

muninka コントローラーの chiyoda_ku メッソドに

case params[:category] wnen '22' rediredt_to muninka_chiyoda_ku_path(category: '21') else end

とするのでは
沢山あるのなら

redirect_pair{ '22' => '21' ,,,,,} # としておいて if new_cat = redirect_pair(params[:category]) rediredt_to muninka_chiyoda_ku_path(category: new_cat) else end

追記
なんか、方針間違えている気がするなぁ、、、

投稿2020/01/28 12:49

編集2020/01/28 12:51
winterboum

総合スコア23333

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

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

NN77

2020/01/29 06:44

ありがとうございます。度々ご迷惑をおかけします。。 諸々構造に問題が出てきており、暫定対応をしております。 こちらで内部からの遷移の場合はリダイレクトされました。 なのですが、google検索から直接該当するページに飛んだ場合には依然404です・・・ 外部流入の場合はリダイレクトされない、というようなことは起こり得るのでしょうか。。
winterboum

2020/01/29 08:52

それは質問時のroutes.rbで、ですか? 私の回答にしたら、ですか?
NN77

2020/01/29 22:26

説明不足で失礼いたしました。 winterboum様の回答にしましたところ、サイト内の遷移ではリダイレクトされたのですが、外部から該当ページへの遷移では404のままです。
winterboum

2020/01/29 23:23

httpdサーバのlogではどうなってますか? まず  22 にアクセスに来て 301、ついで 21にアクセスに来て 404 ですか?
winterboum

2020/01/29 23:37

あと、Railsのlogもそこどうなってるか
NN77

2020/01/30 14:57

こちらありがとうございます。 >22 にアクセスに来て 301、ついで 21にアクセスに来て 404 ですか? この通りです。 どうやらbefore actionで該当のパラメーターを使っていることが悪さをしていそうなところまでわかっているのですが、解決に時間を要してお待たせしそうなので、一度クローズしますね。 連続でご回答いただき誠にありがとうございますm_ _m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問