Шпаргалка по маршрутизации
Исходный кодИх необходимо объявлять в соответствующем модуле маршрутизатора и области видимости.
Краткий справочник по синтаксису распространённых возможностей маршрутизации. Полный обзор см. в руководствах по маршрутизации.
Объявление маршрутов
Одиночный маршрут
get "/users", UserController, :index patch "/users/:id", UserController, :update
# Verified Routes
~p"/users"
~p"/users/#{@user}"
Также поддерживаются put, patch, options, delete и head.
Ресурсы
Простой вариант
resources "/users", UserController
Создаются :index, :edit, :new, :show, :create, :update и :delete.
Параметры
resources "/users", UserController, only: [:show] resources "/users", UserController, except: [:create, :delete]
Вложенные ресурсы
resources "/users", UserController do resources "/posts", PostController end
# Verified Routes
~p"/users"
~p"/users/new"
~p"/users/#{@user}"
~p"/users/#{@user}/edit"
~p"/users/#{@user}/posts"
~p"/users/#{@user}/posts/new"
~p"/users/#{@user}/posts/#{@post}"
~p"/users/#{@user}/posts/#{@post}/edit"
Дополнительную информацию см. в документации по ресурсам.
Области видимости
Простой вариант
scope "/admin", HelloWeb.Admin do pipe_through :browser resources "/users", UserController end
# Verified Routes
~p"/admin/users"
~p"/admin/users/new"
~p"/admin/users/#{@user}"
~p"/admin/users/#{@user}/edit"
Вложенные области видимости
scope "/api", HelloWeb.Api do
pipe_through :api
scope "/v1", V1 do
resources "/users", UserController
end
end
# Verified Routes
~p"/api/v1/users"
~p"/api/v1/users/new"
~p"/api/v1/users/#{@user}"
~p"/api/v1/users/#{@user}/edit"
Дополнительную информацию см. в документации по маршрутам с заданной областью видимости.
© 2014 Chris McCord
Licensed under the MIT License.
https://phoenix.hexdocs.pm/router.html