需要帮助理解此错误 - Pages#show中的SyntaxError

时间:2012-10-19 03:14:56

标签: ruby-on-rails templates haml

在我的本地环境中工作时出错,但完全相同的代码推送到Heroku工作得很好。有什么想法吗?

以下是我尝试转到应用的本地环境中的任何页面时显示的内容。

 /Users/user/badger/app/views/shared/_navigation.html.haml:211: syntax error, unexpected keyword_do_block
    /Users/user/badger/app/views/shared/_navigation.html.haml:213: syntax error, unexpected keyword_end, expecting ')'
      end ).to_s); _erbout.concat "\n"
     ^
/Users/user/badger/app/views/shared/_navigation.html.haml:249: syntax error, unexpected keyword_do_block
/Users/user/badger/app/views/shared/_navigation.html.haml:251: syntax error, unexpected keyword_end, expecting ')'
  end ).to_s); _erbout.concat "\n"
     ^

提取的来源(第#211行):

208:         :erb
209:           <% if @page and @page.categories_include("About") %>
210:             <%= link_to item.name.capitalize, polymorphic_path(item.navigable), :class => "current" %>
211:           <% else %>
212:             <%= link_to_unless_current item.name.capitalize, polymorphic_path(item.navigable), do
213:               link_to item.name.capitalize, polymorphic_path(item.navigable), :class => "current"
214:             end %>

2 个答案:

答案 0 :(得分:2)

问题在于:

<%= link_to_unless_current item.name.capitalize, polymorphic_path(item.navigable), do

如您所见,您在do之前有一个逗号。您需要删除此逗号。

答案 1 :(得分:1)

请参阅以下链接,了解如何使用link_to_unless_current

link_to_unless_current

您的问题以逗号(',')开头

<%= link_to_unless_current item.name.capitalize, polymorphic_path(item.navigable), do

只需用

代替
<%= link_to_unless_current item.name.capitalize, polymorphic_path(item.navigable) do