広告モデルがあります。各広告はエリアに属しています。
より読みやすいURLを使用するために、routes.rbにカスタムパスを定義しました。
match "/adverts/:area_id/:id" => "adverts#show", :as => :advert_semantic
これは次のようなものを生成します
/adverts/manhattan/123
ただし、ごくまれに、広告がエリアに割り当てられていない可能性があります。これらのシナリオでは、Railsはエラーをスローし、パスを要求するページはレンダリングされません。
広告に最初にエリアが割り当てられているかどうかを確認してこれを回避したいと思います。エリアがない場合は、フォールバックとして通常のパス(/ adsverts / 123)を作成します。
これを行うための最良の方法は何を提案しますか?たとえば、上記を実行するヘルパーメソッドを作成するのが最善でしょうか、それとも、メソッドが同じページで複数回呼び出された場合、これはパフォーマンスに影響を与えますか?