Ruby on rails Ruby haml意外的结束错误

Ruby on rails Ruby haml意外的结束错误,ruby-on-rails,ruby,haml,simple-form,Ruby On Rails,Ruby,Haml,Simple Form,有人能告诉我为什么这会让我想起下面关于rails的错误吗 /Users/frankchen/project/pin_board/app/views/pins/_form.html.haml:17:语法错误,意外关键字\u sure,期望关键字\u end…:Util.html\u safe(\u erbout);确保@haml_buffer=@haml_buffer……^/Users/frankchen/project/pin_board/app/views/pins/_form.html.ha

有人能告诉我为什么这会让我想起下面关于rails的错误吗

/Users/frankchen/project/pin_board/app/views/pins/_form.html.haml:17:语法错误,意外关键字\u sure,期望关键字\u end…:Util.html\u safe(\u erbout);确保@haml_buffer=@haml_buffer……^/Users/frankchen/project/pin_board/app/views/pins/_form.html.haml:20:语法错误,输入意外结束,需要关键字\u end


如果是HAML,那么很可能是缩进问题。我无法匹配您提供的行号,因为我们只看到了代码的一部分,但我猜这两行之间的缩进是错的:

= simple_form_for @pin, html: { multipart: true} do |f|
- if @pin.errors.any?
    #errors
        %h2
        = pluralize(@pin.errors.count, "errors")
        prevented this Pin from saving
        %ul
            - @pin.errors.full_messages.each do |msg|
            %li= msg
.form-group
    = f.input :title, input_html: { class: 'form-control' } 

.form-group
    = f.input :description, input_html:{ class: 'form-control' }     

= f.button :submit, class: "btn btn-primary"    

我真的不知道当你粘贴代码时,代码缩进是否被弄乱了,或者你实际上是这样做的,但是,是的,你有几个错误的缩进。例如:

- @pin.errors.full_messages.each do |msg|
%li= msg

-if
应该缩进2个空格。所以它在上面的简单形式的范围内。你的
ul
和它的
li
s在
每个
中也是如此。在我的例子中,当我删除
%ul
-@pin.errors.full_消息之间的缩进时,它起作用了。我仍然不知道原因,因为
-@pin.errors.full_messages.each do | msg |
应该在
@ul
标签内

= simple_form_for @pin, html: { multipart: true} do |f|
- if @pin.errors

这实际上是整个代码,我不知道为什么错误是不同的行。我想当我把它粘贴到stackoverflow时,它弄糟了,你的代码有相同的标识,这是因为我复制了你的代码。你有没有在实际的视图代码中查找缩进问题?嘿,伙计,我发现了,haml看起来只允许代码运行的2空间标识?我更改了选项卡的升华设置,只返回2个空格进行识别
%ul
- @pin.errors.full_messages.each do |msg|
  %li= msg