出于某种原因,我无法在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
- 部分内部直接渲染部分时,它的工作正常。
答案 0 :(得分:5)
这里的问题在于订单。
我必须在调用content_for
之前定义render "layouts/headinclude"
- 块。
请注意,如果“回答”content_for
- 块(包含render "layouts/hotjar"
- 部分的那个)位于模板内(如show
或{{ 1}}或在你目前的任何模板中)。原因是Rails解析内容的顺序。
模板似乎在布局之前得到解决,因此在这种情况下,“询问”index
- 块将显示实际数据。
这是(一种可能的)答案:
content_for
我希望这有助于某人。