我的rails app上的haml
页面之一出现语法错误:
...users/show.html.haml:6: syntax error, unexpected ':', expecting '}' ...true_false(( nav_big { profile: @user, art: root_url, storie... ... ^
show.html.haml的摘录:
= nav_big { profile: @user,
art: root_url,
stories: root_url,
universes: root_url,
elements: root_url }
我正在尝试将哈希传递给我的助手并生成导航。
我的导航助手的摘录:
def nav_big(items)
items.each do |key, value|
items_html += link_to(glyphenize(key), value, class: value == request.original_url ? "active" : "")
end
content_tag(:nav, items_html.html_safe, class: "big")
end
这是我第一次使用haml
,我决定通过使用漂亮的帮助程序让我的代码更干,因为我将页面更改为haml
。
导致此语法错误的原因是什么?
答案 0 :(得分:1)
我认为你只需要用帮助器中的常规括号替换花括号,试试这个:
= nav_big( profile: @user, art: root_url, stories: root_url, universes: root_url, elements: root_url )
如果你喜欢花括号,那么你应该使用这种格式
= nav_big { :profile => @user, :art => root_url, :stories => root_url, :universes => root_url, :elements => root_url }