3 ms·
I personally would prefer something like: defmodule MyApp.Web.Router do use MyApp.Router end over defmodule MyApp.Web.Router do use M
by halostatue 3y ago
I personally would prefer something like:
defmodule MyApp.Web.Router do
use MyApp.Router
end
over
defmodule MyApp.Web.Router do
use MyApp, :router
end
but that’s a preference.
- sodapopcan 3y agoYou can do that if you want. Just remove `def router` from `MyAppWeb` move its contents over to a custom module: defmodule MyAppWeb.Router do defmacro __using__(_) do quote do use Phoenix.Router, helpers: false import Plug.Conn import Phoenix.Controller import Phoenix.LiveView.Router end end end But why the dislike for passing a second argument to `use`? It keeps everything together pretty nicely.
- halostatue 3y agoMostly because we’re using an umbrella at the place of work, and we absolutely don’t want those boundaries crossed.
- sodapopcan 3y agoOh! Well I don't know your setup but you could always add a top level `PhoenixHelpers` namespace (or a better name) that holds these generic types of things that can be shared between apps. Though again I really don't know your set up. Like maybe you have an app whose router doesn't need `Phoenix.Controller` so then this wouldn't make sense.