特定のルートに対して定義したデフォルトにアクセスしたいと考えています。しかし、Rails はこれをparamsハッシュに入れることを拒否しています。例:
ルート.rb:
get "packages(/:display)", to: "packages#index", defaults: { display: 'grid' }
私が呼び出す URL:
http://localhost:3000/packages
paramsハッシュは次のようになります。
{"action"=>"index", "controller"=>"packages"}
しかし、私が好むのは、次のものを取得することです。
{"action"=>"index", "controller"=>"packages", "display"=>"grid"}
問題は大したことではありません。しかし、Rails は DRY であると主張しているので、routes.rbにデフォルトを保持し、コントローラーまたはビュー コードでそれらを繰り返さないようにできると考えました。
私の意図は、結果のグリッドまたは結果のリストのいずれかを表示することです。ユーザーが特定のビューを指定しない場合は、グリッド スタイルを使用したいと思います。
(Rails 4 を使用しています。)