如何将此行转换为haml?

时间:2013-12-20 19:23:06

标签: haml

如何将以下行转换为haml:

<link rel="shortcut icon" href="<%= asset_path "favicon.ico" %>" />

我尝试使用以下内容,但它在rails中引发错误:

%link{href: asset_path "favicon.ico", rel: "shortcut icon"}/

1 个答案:

答案 0 :(得分:3)

您需要使用asset_path(...)而不是asset_path ...

%link{href: asset_path("favicon.ico"), rel: "shortcut icon"}/

问题在于编译的Ruby。你的HAML产生类似这样的伪代码:

tag("link", href: asset_path "favicon.ico", rel: "shortcut icon")

这在语法上是模棱两可的; Ruby无法知道您的意图:

tag(href: asset_path("favicon.ico"), rel: "...")
tag(href: asset_path("favicon.ico", rel: "..."))

所以Ruby选择在这种情况下引发语法错误,迫使你编写明确的代码。