Rails content_for 未渲染部分
Rails content_for not rendering partial
出于某种原因,我无法在 content_for
块内渲染部分内容。
代码如下:
/ => index.html.slim
doctype html
html lang="de"
= render "layouts/headinclude"
body
= yield
- if Rails.env.production?
- content_for :additional_headincludes do
= render "layouts/hotjar"
出于某种原因,以下内容在完全呈现后不包括我的部分内容:
/ # => _headinclude.html.slim
head
title= @title || "My Title"
link href='//fonts.googleapis.com/css?family=Droid+Sans:400,700' rel='stylesheet' type='text/css'
- if content_for?(:additional_headincludes)
= yield :additional_headincludes
我看不出这是行不通的原因。任何帮助表示赞赏。
当直接在我的 headinclude
-partial 中渲染部分时,它工作正常。
问题出在订单上。
在调用 render "layouts/headinclude"
.
之前,我必须定义 content_for
-block
请注意,如果 "answering" content_for
块(包含 render "layouts/hotjar"
部分的块)位于模板内(如 show
或 index
或您当前使用的任何模板)。原因是 Rails.
解析内容的顺序
模板似乎在布局之前得到解析,因此在这种情况下,"asking" content_for
块将显示实际数据。
这是(一种可能的)答案:
/ => index.html.slim
- if Rails.env.production?
- content_for :additional_headincludes do
= render "layouts/hotjar"
doctype html
html lang="de"
= render "layouts/headinclude"
body
= yield
我希望这对某人有所帮助。
出于某种原因,我无法在 content_for
块内渲染部分内容。
代码如下:
/ => index.html.slim
doctype html
html lang="de"
= render "layouts/headinclude"
body
= yield
- if Rails.env.production?
- content_for :additional_headincludes do
= render "layouts/hotjar"
出于某种原因,以下内容在完全呈现后不包括我的部分内容:
/ # => _headinclude.html.slim
head
title= @title || "My Title"
link href='//fonts.googleapis.com/css?family=Droid+Sans:400,700' rel='stylesheet' type='text/css'
- if content_for?(:additional_headincludes)
= yield :additional_headincludes
我看不出这是行不通的原因。任何帮助表示赞赏。
当直接在我的 headinclude
-partial 中渲染部分时,它工作正常。
问题出在订单上。
在调用 render "layouts/headinclude"
.
content_for
-block
请注意,如果 "answering" content_for
块(包含 render "layouts/hotjar"
部分的块)位于模板内(如 show
或 index
或您当前使用的任何模板)。原因是 Rails.
模板似乎在布局之前得到解析,因此在这种情况下,"asking" content_for
块将显示实际数据。
这是(一种可能的)答案:
/ => index.html.slim
- if Rails.env.production?
- content_for :additional_headincludes do
= render "layouts/hotjar"
doctype html
html lang="de"
= render "layouts/headinclude"
body
= yield
我希望这对某人有所帮助。