Как обслуживать статическую страницу в феникс-фреймворке?

Я хочу использовать статическую страницу в Phoenix Framework, чтобы использовать ее в Angular Views. Я знаю, что могу обслуживать обычный HTML, но я хочу избавиться от стандартного LayoutView. Я мог бы сделать с решением просто иметь некоторые Phoenix Views, которые не наследуют от LayoutView. Возможно ли это?

Ответ 1

Вы можете обслуживать статические файлы, имея файл в priv/static и сопоставляя путь в параметрах Plug.Static:

  plug Plug.Static,
    at: "/", from: :hello_phoenix, gzip: false,
    only: ~w(css fonts images js favicon.ico robots.txt my_fine.html)

Вы также можете обойти макет с помощью put_layout/2:

conn
|> put_layout(false)
|> render("index.html")

Функция put_layout/2 также может быть вызвана как плагин (из-за аргументов функции). Это полезно, если вы хотите, чтобы он применился ко всему контроллеру:

plug :put_layout, false