Html 嵌套块
我是HAML的新手。那么在哈姆尔的这个呢Html 嵌套块,html,ruby-on-rails,haml,Html,Ruby On Rails,Haml,我是HAML的新手。那么在哈姆尔的这个呢 -if @link.is_active %a -else #custom-div .custom-class 所以我想看看某些条件是否成立 <a><div id = "custom-div"><div class = "custom-class"></div></div></a> 有什么建议吗?Haml 4.1.
-if @link.is_active
%a
-else
#custom-div
.custom-class
所以我想看看某些条件是否成立
<a><div id = "custom-div"><div class = "custom-class"></div></div></a>
有什么建议吗?Haml 4.1.0.beta.1有一个。您可以这样使用它:
- haml_tag_if @link.is_active, :a do
#custom-div
.custom-class
如果您不能使用4.1.0,您可以自己添加助手,这相当简单。这应该起作用:
def haml_tag_if(condition, *tag)
if condition
haml_tag(*tag){ yield }
else
yield
end
end
根据
#自定义div.自定义类
的复杂程度,如果,您可以使用链接到_:
您可以尝试使用HAMLYou的surround
方法,您可以这样做-surround(@link.is\u active?”%a:“@link.is\u active?”%a:“)do#custom div.custom class
好的,我会尝试,但是如果我对1-2个ESLIF和ELSE有一些困难的逻辑怎么办?
- haml_tag_if @link.is_active, :a do
#custom-div
.custom-class
def haml_tag_if(condition, *tag)
if condition
haml_tag(*tag){ yield }
else
yield
end
end
= link_to_if @link.is_active, "html safe linkable text here", "url to link to"