1

我有一个导航面板。active如果单击它,我希望菜单项的类更改为。

%li= { :class => current_page?(admin_roles_path) ? 'active' : nil }
    = link_to "Roles", admin_roles_path

但我收到以下错误:

Haml::SyntaxError in Admin::Roles#index
Showing /sites/freshapp/app/views/layouts/_sidebar.html.haml where line #7 raised:

Illegal nesting: content can't be both given on the same line as %li and nested within it.
4

3 回答 3

1

试试这个(你不需要=after %li

%li{ :class => current_page?(admin_roles_path) ? 'active' : nil }
  = link_to "Roles", admin_roles_path
于 2013-07-01T12:11:45.453 回答
1

你不需要=你的%li,你有太多的空格/标签。(Haml 是一种嵌套语言,制表符/空格的数量很重要)。做这个:

%li{ :class => current_page?(admin_roles_path) ? 'active' : nil }
  = link_to "Roles", admin_roles_path
于 2013-07-01T12:11:34.990 回答
0

尝试这个

%li{ :class => "#{current_page?(admin_roles_path) ? 'active' : nil}"}
  = link_to "Roles", admin_roles_path
于 2013-07-01T12:16:28.150 回答