本文介绍了我如何有条件地将一些HAML内容包装在标签中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何使用条件决定是否在HAML中输出周围标签?
- if i_should_link
%a {:href => url}
.foo
.block
.of
.code
- else
.foo
.block
.of
.code
解决方案
。
foo.html.haml
- if i_should_link
%a {:href => url}
=渲染'bar'
- else
=渲染'bar'
_bar.html.haml
.foo
.block
.of
.code
编辑:或你可以使用内容,我想这样会更好,因为它保留在同一个文件中。
- if i_should_link
%a {:href => url}
= yield:foobar
- else
= yield:foobar
- content_for:foobar do
.foo
.block
.of
.code
How can I use a condition to decide whether to output a surrounding tag in HAML? I'm trying to create the DRY version of the code below.
- if i_should_link
%a{:href => url}
.foo
.block
.of
.code
- else
.foo
.block
.of
.code
解决方案
You could use a partial.
foo.html.haml
- if i_should_link
%a{:href => url}
= render 'bar'
- else
= render 'bar'
_bar.html.haml
.foo
.block
.of
.code
Edit: Or you could use content for, I guess this is better because it keeps it all in the same file.
- if i_should_link
%a{:href => url}
= yield :foobar
- else
= yield :foobar
- content_for :foobar do
.foo
.block
.of
.code
这篇关于我如何有条件地将一些HAML内容包装在标签中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!