これを行う宝石はありますか、それとも焼き込まれていますか? 私が理解していることは、ページのパスを変更するたびに (おそらく SEO のために変更する場合)、新しい 301 リダイレクトを作成する必要があるということです。これは自動的に処理されるべきではありませんか?
もしそうなら、それはどのように自動的に処理され、どのように利用するのですか?
ありがとう!!!
これを行う宝石はありますか、それとも焼き込まれていますか? 私が理解していることは、ページのパスを変更するたびに (おそらく SEO のために変更する場合)、新しい 301 リダイレクトを作成する必要があるということです。これは自動的に処理されるべきではありませんか?
もしそうなら、それはどのように自動的に処理され、どのように利用するのですか?
ありがとう!!!
これはかなり複雑な質問で、ルートが現在どのように見えるかに大きく依存します。簡単な答えは次のとおりです。いいえ、これは Rails によって自動的に処理されません。
このようなリダイレクトを処理する最も簡単な方法は、routes.rb
ファイル内で、古いパスから新しいパスにリダイレクトすることです。このようなもの:
match '/products/:id', redirect("/new_products/%{id}")
この種のリダイレクトの詳細については、Rails ルーティング ガイドを参照してください。
製品のインスタンスを 1 つだけ変更する場合、明らかにこれはあまり意味がありません。変更されたすべてのオブジェクトに対してこれを行うことはできません。この場合、標準の ID ベースのルーティングを使用していないと仮定します。もしそうなら、これは問題にはなりません。(ID は変更されないため、名前や日付など、変更されるフィールドに基づいてルーティングされている可能性があります。)
この場合、ルーティング フィールドを現在のものから抽出して、独自のスラッグ列に入れたいと思うでしょう。これには、非常に優れたFriendly_id gem をお勧めします。これにより、スラッグを自動的に生成でき、その履歴モジュールを使用すると、オブジェクトの古いスラッグを使用してルックアップを実行できます。
次に、必要に応じて、ID、スラッグ、または古いスラッグのいずれかでオブジェクトを検索できます。