Ruby on rails HAML折叠中的意外错误

Ruby on rails HAML折叠中的意外错误,ruby-on-rails,haml,bootstrapping,Ruby On Rails,Haml,Bootstrapping,我已经在RubyonRails上用崩溃引导开发了网页。 对于Haml,我尝试了以下方法。 但也有一些意想不到的错误 .accordion-group .accordion-heading %according-toggle{"data-toggle" => "collapse", "data-target"=>"#{heading}"} = link_to heading, "#{heading}" .accordion-body.coll

我已经在RubyonRails上用崩溃引导开发了网页。 对于Haml,我尝试了以下方法。 但也有一些意想不到的错误

.accordion-group
    .accordion-heading
      %according-toggle{"data-toggle" => "collapse", "data-target"=>"#{heading}"}
        = link_to heading, "#{heading}"
    .accordion-body.collapse.in{:id => "#{heading}"}
      .accordion-inner
        -items.each do |item|
        %li{ :class => (params[:controller] == item[:controller] ? "active" : "") }
          = link_to item[:path] do
            - if item[:data_icon]
              %span{ :class => "nav-icon", :data => {"icon" => "#{item[:data_icon]}".html_safe}}
              %span{ :class => "nav-text"}
                = "#{item[:name]}"
            - else
              = "#{item[:name]}"

您的缩进似乎不正确,能否检查
项下面的行。每个

这应该在循环中

.accordion-group
  .accordion-heading
    %according-toggle{"data-toggle" => "collapse", "data-target"=>"#{heading}"}
      = link_to heading, "#{heading}"
  .accordion-body.collapse.in{:id => "#{heading}"}
    .accordion-inner
      - items.each do |item|
        %li{ :class => (params[:controller] == item[:controller] ? "active" : "") }
          = link_to item[:path] do
            - if item[:data_icon]
              %span{ :class => "nav-icon", :data => {"icon" => "#{item[:data_icon]}".html_safe}}
              %span{ :class => "nav-text"}
                = "#{item[:name]}"
            - else
              = "#{item[:name]}"

我改变了代码如下。 原因是标题包含空格和特殊字符,如“&”。 所以我用下划线代替了它们。 在那之后它就开始工作了

.panel-group{:id=>"accordion"}
  - groups.each do |heading, items|
  .panel.panel-default
    .panel-heading
      %h4.panel-title
        %a.accordion-toggle{"data-toggle" => "collapse", "data-parent"=>"#accordion",:href=>"#"+"#{heading}".gsub(/\W/,'_')}
          = raw heading
    .panel-collapse.collapse{:id=>"#{heading}".gsub(/\W/,'_')}
      .panel-body
        %ul.nav.nav-pills.nav-stacked
          - items.each do |item|
            %li{:class => (params[:controller] == item[:controller] ? "active" : "") }
              = link_to item[:path] do
                - if item[:data_icon]
                  %span{ :class => "nav-icon", :data => {"icon" => "#{item[:data_icon]}".html_safe}}
                  %span{ :class => "nav-text"}
                  = "#{item[:name]}"
                - else
                  = "#{item[:name]}"

语法错误,意外的关键字\u-sure,应为关键字\u-end…:Util.html\u-safe(\u-erbout);确保@haml_buffer=@haml_buffer。。。。这是一条错误消息,我是这样实现的。你似乎是对的,但我的问题与你的答案不同。