На самом деле вы правы, resource
не должен создавать действие индексации, если только вы явно не запросите действие индекса, таким образом:
resource :orders, :only => [:index, :create, :show]
Помощники тоже должны отличаться, но не так сильно, как вваш пример, потому что соглашение состоит в том, чтобы использовать форму единственного числа с методом resource
, а множественное число с resources
resources :orders
=> rake routes
orders GET /orders(.:format) orders#index
POST /orders(.:format) orders#create
new_order GET /orders/new(.:format) orders#new
edit_order GET /orders/:id/edit(.:format) orders#edit
order GET /orders/:id(.:format) orders#show
PUT /orders/:id(.:format) orders#update
DELETE /orders/:id(.:format) orders#destroy
resource :order
=> rake routes
order POST /order(.:format) orders#create
new_order GET /order/new(.:format) orders#new
edit_order GET /order/:id/edit(.:format) orders#edit
GET /order/:id(.:format) orders#show
PUT /order/:id(.:format) orders#update
DELETE /order/:id(.:format) orders#destroy
И логическое отличие состоит в том, чтобы объявить, что вы логически не можете иметьмножественное число для ресурса в вашем приложении, например Admin или что-то еще