2015-01-17 9 views
0

Есть ли причина, по которой я должен использовать находчивые маршруты, даже если я не хочу, чтобы у определенного контроллера был каждый маршрут, созданный resources :controllers?Каковы преимущества использования находчивых маршрутов?

Например, если бы я хотел, чтобы каждый маршрут, но get controllers/edit, есть причина, почему я не должен удалить строку resources :controllers и просто вручную добавить get controllers/new, delete controllers/destroy и т.д., в результате чего из edit?

+0

Возможно, вы захотите задать этот вопрос на http://codereview.stackexchange.com – Phrogz

ответ

0

Если вы хотите, чтобы все маршруты ресурсов, кроме одного, как в вашем примере, вы могли бы сделать:

resources :posts, except: :edit 

Это, безусловно, лучше, чем писать 7 строк, чтобы исключить одну из 8 маршрутов, предусмотренных resources.

исключающие 2 действия:

resources :posts, except: [:edit, :update] 

В том числе только два действия:

resources :posts, only: [:create, :destroy] 

См http://guides.rubyonrails.org/routing.html#restricting-the-routes-created для более подробной информации.

Сторона примечания: Не рекомендуется указывать ресурс как controllers. Это разрешено, но вызывает много путаницы, поскольку Controller имеет особое значение в мире рельсов. http://guides.rubyonrails.org/action_controller_overview.html

+0

. Таким образом, ресурсы фактически не делают ничего, кроме объединения этих 8 строк кода в одну строку? –

Смежные вопросы