我有一个类似的部分:
/ _some_partial.md.haml
%div.container
%div.optional-row
= yield
有这样的观点:
/ some_view.html.haml
---
layout: some_layout
---
= partial "some_partial" do
%p Content here
...
但是,我希望在某些地方使用some_partial
包装器呈现%div.optional-row
,而不是其他地方。这是用if/ else
声明可以实现的吗?
我设想使用content_for
的解决方案,看起来像:
/ _some_partial.md.haml
%div.container
- if content_for?(:optional_row)
%div.optional-row
= yield :optional_row
- else
= yield
使用
/ some_view.html.haml
---
layout: some_layout
---
- content_for :optional_row do
= partial "some_partial" do
%p Content here
...
我知道这是错误的(它返回TypeError
),但我希望它能解释我的思考过程。
This question似乎在某种程度上回答了我的问题,但它没有解释如何使用if/ else
条件渲染部分内容。
聚苯乙烯。我正在使用Middleman,因此扔掉了Padrino标签