如何将以下行转换为haml:
<link rel="shortcut icon" href="<%= asset_path "favicon.ico" %>" />
我尝试使用以下内容,但它在rails中引发错误:
%link{href: asset_path "favicon.ico", rel: "shortcut icon"}/
答案 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选择在这种情况下引发语法错误,迫使你编写明确的代码。