Rails4で同じアクションに対するURLが複数あるようなルーティング設定は良い/悪い?
例えば、UsersController
というのがあったとして、config/routes.rb
で、以下のように設定したとします。
root 'users#index' # rootはuserの一覧にしたい
resources :users
そうすると、ルーティングの設定は以下のようになると思います。
Prefix Verb URI Pattern Controller#Action
root GET / users#index
users GET /users(.:format) users#index
users POST /users(.:format) users#create
new_user GET /users/new(.:format) users#new
edit_user GET /users/:id/edit(.:format) users#edit
user GET /users/:id(.:format) users#show
PATCH /users/:id(.:format) users#update
PUT /users/:id(.:format) users#update
DELETE /users/:id(.:format) users#destroy
このとき、users#index
に対応するURL(GET)が /
と /users
の複数存在することになります。
こういう状態は 有り or 無し どちらとするべきなのでしょうか?
気持ち悪かったので except
や only
を使って一意のURLになるようにしていたんですが、
Web上のチュートリアルやサンプルコードなどではそのまま複数ある状態になっていたので・・・
確かに、デフォルトの設定に沿った名前付きルートがそのまま使えるのは利点な気もします。