2016-05-17 2 views
1

Есть ли разница между использованием именованного маршрута для указания контроллера и действия?Именованные маршруты против контроллера и действия

<%= link_to 'link', controller: :users, action: :index %> 

даст тот же результат, как

<%= link_to 'link', users_path %> 

То, что я хотел бы знать, если есть какая-то разница, или какой из них предпочтительнее

ответ

2

Предпочитает users_path. Функционально нет разницы, но вспомогательные методы позволяют изменять контроллер/действие, которое обрабатывает конкретное действие, не изменяя каждую ссылку, которая ведет к действию.

Он также короче, не подвергая риску удобочитаемость. Фактически, есть более короткая версия, которую я лично предпочитаю:

<%= link_to 'link', :users %> 
0

Нет, нет никакой разницы, пока users_path маршруты до users#index. Хотя users_path может быть предпочтительнее большинства для краткости. Это также более читаемо при прохождении параметров на маршрут: users_path(search: 'John')

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