首页 文章

为什么我的苗条模板出错?

提问于
浏览
0

我的layout.slim视图是:

doctype html
html
    head
      meta charset="utf-8"
      meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"
      title= "Title"
      meta name="description" content=""
      meta name="author" content=""
      meta name="keywords" content=""
      meta name="viewport" content="width=device-width, initial-scale=1.0"
        link href='/css/base.css' rel='stylesheet' type='text/css'
    body
    == yield

我的main.slim视图是

== slim :layout
  h1 hello
  h2 world

它渲染得很好,但我渲染的html将head属性复制到body标签中!它看起来像这样:

html
  head
    meta..
    meta..
    title ...
    ...

  body
    meta..
    meta..
    title ...
    ...
    <h1>Hello</h1>
    ...

为什么会那样?

(顺便说一下,我使用“== slim:layout”的原因是启用模板的嵌套继承(即layout.slim - > main.slim - > form.slim)

1 回答

  • 1

    你的布局中有错误的缩进, body 应该在 html== yield 里面,所以相反:

    doctype html
    html
    head
      meta charset="utf-8"
      meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"
      title= "Title"
      meta name="description" content=""
      meta name="author" content=""
      meta name="keywords" content=""
      meta name="viewport" content="width=device-width, initial-scale=1.0"
      link href='/css/base.css' rel='stylesheet' type='text/css'
    body
    == yield
    

    用这个:

    doctype html
    html
    head
      meta charset="utf-8"
      meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"
      title= "Title"
      meta name="description" content=""
      meta name="author" content=""
      meta name="keywords" content=""
      meta name="viewport" content="width=device-width, initial-scale=1.0"
      link href='/css/base.css' rel='stylesheet' type='text/css'
    body
      == yield
    

相关问题