View Source Routex.Extension.VerifiedRoutes (Phoenix Routes Extension Framework v0.1.0-alpha.6)
Provides route generation with compile-time verification.
Provides a sigil (default: ~l) with the ability to verify routes even when the route has been transformed by Routex extensions. This allows the use of the original route paths in controllers and templates.
The sigil to use can be set to ~p to override Phoenix' default as it is a drop-in replacement.
options
Options
verified_sigil_routex
: Sigil to use for Routex verified routes (default: "~l")verified_sigil_original
: Sigil for original routes whenverified_sigil_routex
is set to "~p". (default: "~o")
When setting verified_sigil_routex
option to "~p" an additional changes must be made.
# file /lib/example_web.ex
defp routex_helpers do
+ import Phoenix.VerifiedRoutes, except: [sigil_p: 2]
import ExampleWeb.Router.RoutexHelpers
end
configuration
Configuration
# file /lib/example_web/routex_backend.ex
defmodule ExampleWeb.RoutexBackend do
use Routex,
extensions: [
+ Routex.Extension.VerifiedRoutes,
],
+ verified_sigil_routex: "~p",
+ verified_sigil_original: "~o",
pseudo-result-simplified
Pseudo result (simplified)
# in (h)eex template
# for a 1-on-1 mapping
~l"/products/#{product}" ⇒ ~p"/transformed/products/#{product}"
# or when alternative routes are created
~l"/products/#{product}" ⇒ case alternative do
nil ⇒ ~p"/products/#{product}"
"en" ⇒ ~p"/products/#{product}"
"eu_nl" ⇒ ~p"/europe/nl/products/#{product}"
"eu_be" ⇒ ~p"/europe/be/products/#{product}"
end
routex-attrs
Routex.Attrs
Requires
- none
Sets
- none