Rails:语法错误,意外的keyword_ensure,期待$ end

我正在创建一个非常基本的rails应用程序(学习教程),并且无法理解为什么我收到此错误。 我试过故障排除,但无济于事。

我的代码:

 

一切都运行正常,直到我添加了Else语句,但不知道我的错误是什么 – 我确定这是一个非常小的语法修复,但你的帮助将非常感激。

您的代码中存在错误。
else启动之前,您的代码中有额外的end
删除可能会解决您的问题……

正如其他人所指出的,代码中的错误是ifelse块之间的额外<% end %>

在我看来,真正的解决方案是将以下内容添加到您的Gemfile:

 group :development do gem 'better_errors' end 

(当您看到由语法问题导致的此错误消息时,这通常是真正的解决方案。)

删除<% else %>之前的<% end %> <% else %>

代码应如下:

  

在我的情况下,我忘记了一个循环:

 <% @things.each |thing| %> 

正确的格式是:

 <% @things.each do |thing| %> 
  

它应该是这样的

如果你使用HAML,这可能是原因:

 - model_class = Products .products-page 

什么会解决? Identation。

 - model_class = Products .products-page