Elixir Phoenix: 自定义布局模板文件

作用域范围

基于作用域范围, 可以在如下几个层次设置布局模板文件

基于Render函数的自定义

特定于某个render函数调用的自定义布局模板文件设置

def index(conn, _params) do
  render conn, "index.html", layout: {App.SearchView, "search.html"}
end

控制器

在控制器级别设置布局模板

defmodule App.SearchController do
  use App.Web, :controller

  plug :put_layout, "search.html"
  
  def index(conn, _params) do
    render conn, "index.html"
  end
end

基于路由

在路由中设置模板

# web/router.ex
pipeline :admin_layout do
  plug :put_layout, {App.SearchView, :search}
end

scope "/search", App do
  pipe_through [:browser, :search_layout]
  resources "/search", App.SearchController
end

不使用布局

我们知道 put_layout 可以用于在不同的范围内设置模板使用的布局文件, Phoenix 摸的布局文件为 app.html.eex, 如果你不需要使用布局文件, 可以吧 put_layout 设置为false, 这在需要输出自定义数据格式的时候是非常好用的.

put_layout conn, false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值