2014-10-10 1 views

ответ

4

Опция as: позволяет настраивать функции вспомогательного имени именованного маршрутизатора, которые мы генерируем, чтобы воссоздать определенный маршрут. то есть из документов:

Указанный помощник также можно настроить с помощью опции :as. Учитывая маршрут:

get "/pages/:page", PageController, :show, as: :special_page 

названный помощником будет:

MyApp.Router.Helpers.special_page_path(:show, "hello") 
    "/pages/hello" 

as: в этом случае является возможность маршрутизатора макроса, а не сам макрос.

+0

В каких документах я могу найти это? – stoft

+0

Глядя на документы, которые я воспринимаю, помощники используются для доступа к маршруту из вашего кода без прохождения через Маршрутизатор. Это верно? Например. если я хочу перенаправить на другой путь? – stoft

+3

@stoft помощник - это функция, которая генерирует путь для вас. Поэтому вместо путей жесткой кодировки вы можете использовать помощник, который будет генерировать URL-адрес, интерполируя аргументы, а также гарантируя, что он действительно существует. Например, предположим, что вы переименуете «/ pages /: page» на «/ my/pages /: page». Если вы жестко настроили URL-адреса, у вас теперь были бы неработающие ссылки в вашем приложении. Используя помощник, URL-адреса будут корректными после перекомпиляции кода. В случае удаления URL-адреса вы получите ошибку компиляции. –