Railsのキャッチオールではないトップレベルのルートを使用するという哲学と技術的実践の両方についてのフィードバックを探しています。
例:
# routes.rb
get '/cities' => 'cities#index'
get '/:city_id' => 'cities#show', as: :city, city_id:/([a-z\-\d]+)/
:city_idは「/los-angeles」のようなものに制限されるべきであるが「/somewrongthing.jpg」のようなものに制限されるべきではない約30kの都市があります。これが最後のルートなので、ちょっとしたキャッチオールになっています。現在、都市が見つからない場合は404をレンダリングしていますが、これは、欠落しているリンクが通過するたびにDBがヒットすることを意味します。制約によって制限しましたが、私が望んでいたエレガントなソリューションではありませんでした。
/ city /:city_idのようなものの下に置く以外に解決策はありますか?