Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在haml中使用rails帮助程序时,传递哈希会导致语法错误_Ruby On Rails_Syntax Error_Haml - Fatal编程技术网

Ruby on rails 在haml中使用rails帮助程序时,传递哈希会导致语法错误

Ruby on rails 在haml中使用rails帮助程序时,传递哈希会导致语法错误,ruby-on-rails,syntax-error,haml,Ruby On Rails,Syntax Error,Haml,我的rails应用程序中的一个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,

我的rails应用程序中的一个
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
时,我决定使用一个漂亮的助手使我的代码更加枯燥


是什么导致了这个语法错误?

我认为您只需要将助手中的花括号替换为常规括号,试试这个:
=nav\u big(个人资料:@user,艺术:root\u url,故事:root\u url,宇宙:root\u url,元素:root\u url)

如果您喜欢花括号,则应使用此格式

=nav\u big{:profile=>@user,:art=>root\u url,:stories=>root\u url,:universes=>root\u url,:elements=>root\u url}

我仍然收到错误,但它们不再是语法。所以我相信问题已经解决了,谢谢。我原以为散列只能用花括号来实例化。我对这一点有点陌生,但我认为花括号是Ruby中较旧的散列语法,尽管它们都是有效的,如果我没有弄错的话,Rails开发人员更喜欢常规括号。不过,老实说,我关闭了
nav_big
以使其正常工作。