Я рассмотрении "Rails Routing From The Outside In" секцию Rails Guides, и я наткнулся на этот раздел:Как Rails знает, какое действие «показать» контроллера для использования в этом примере из Rails Guides?
Иногда у вас есть ресурс, чтобы клиенты всегда смотреть без ссылающегося идентификатор. Например, вы хотели бы, чтобы/profile всегда отображал профиль пользователя в настоящее время вошедшего в систему пользователя. В этом случае, вы можете использовать сингулярный ресурсов для отображения/профиля (а не/профиля /: ид) в шоу действия:
get 'profile', to: 'users#show'
Передача строки в соответствии будет ожидать формат действий контроллера #, при прохождении символа непосредственно сопоставляется действия:
get 'profile', to: :show
в руководстве говорится, что «пропускании символ будет отображать непосредственно к действию», но, скажем, у меня есть несколько контроллеров, которые у каждого есть «показать действия. Как Rails знает, какой из них использовать, поскольку я больше не ссылаюсь на конкретный контроллер?
Кажется, что строка 'get 'profile', to: 'users # show', controller: 'users'' должен быть' get' profile ', чтобы:: show, controller:' users''. Опция 'controller' не действует, если мы напишем строку первым способом. – izaban
Спасибо izaban, хороший момент. Я обновил этот пример. – sampierson