Ruby haml 意外结束错误
Ruby haml unexpected ending error
= 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"
有人能告诉我为什么这会返回下面针对 rails
的错误吗
/Users/frankchen/project/pin_board/app/views/pins/_form.html.haml:17: syntax error, unexpected keyword_ensure, expecting keyword_end ...:Util.html_safe(_erbout);ensure;@haml_buffer = @haml_buffer.... ... ^ /Users/frankchen/project/pin_board/app/views/pins/_form.html.haml:20: syntax error, unexpected end-of-input, expecting keyword_end
如果是 HAML,则很可能是缩进问题。我无法匹配您提供的行号,因为我们只看到了代码片段,但我猜测这两行之间的缩进已关闭:
- @pin.errors.full_messages.each do |msg|
%li= msg
无法真正判断粘贴代码时代码缩进是否弄乱了,或者实际上是这样,但是是的,您有几个错误的缩进。例如:
= simple_form_for @pin, html: { multipart: true} do |f|
- if @pin.errors
- if
应该缩进 2 个空格。所以它在它上面的简单形式的范围内。同样适用于您 ul
及其 each
中的 li
在我的例子中,当我删除 %ul
和 - @pin.errors.full_messages.each do |msg|
之间的缩进时它起作用了。我仍然不知道原因,因为 - @pin.errors.full_messages.each do |msg|
应该在 @ul
标签内。
%ul
- @pin.errors.full_messages.each do |msg|
%li= msg
就我而言,这是一个漏引号:
= link_to 'How to create an offer, '#', class: 'icu-card-title-link card-title'
= 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"
有人能告诉我为什么这会返回下面针对 rails
的错误吗/Users/frankchen/project/pin_board/app/views/pins/_form.html.haml:17: syntax error, unexpected keyword_ensure, expecting keyword_end ...:Util.html_safe(_erbout);ensure;@haml_buffer = @haml_buffer.... ... ^ /Users/frankchen/project/pin_board/app/views/pins/_form.html.haml:20: syntax error, unexpected end-of-input, expecting keyword_end
如果是 HAML,则很可能是缩进问题。我无法匹配您提供的行号,因为我们只看到了代码片段,但我猜测这两行之间的缩进已关闭:
- @pin.errors.full_messages.each do |msg|
%li= msg
无法真正判断粘贴代码时代码缩进是否弄乱了,或者实际上是这样,但是是的,您有几个错误的缩进。例如:
= simple_form_for @pin, html: { multipart: true} do |f|
- if @pin.errors
- if
应该缩进 2 个空格。所以它在它上面的简单形式的范围内。同样适用于您 ul
及其 each
li
在我的例子中,当我删除 %ul
和 - @pin.errors.full_messages.each do |msg|
之间的缩进时它起作用了。我仍然不知道原因,因为 - @pin.errors.full_messages.each do |msg|
应该在 @ul
标签内。
%ul
- @pin.errors.full_messages.each do |msg|
%li= msg
就我而言,这是一个漏引号:
= link_to 'How to create an offer, '#', class: 'icu-card-title-link card-title'