Rails:语法错误,意外的keyword_ensure,预计$结束
我创建了一个非常基本的rails应用程序(学习教程),并不明白为什么我得到这个错误。我试过故障排除,但无济于事。
我的代码:
<ul class = "nav pull-right"> <% if user_signed_in? %>
<li><%= link_to current_user.full_name, edit_user_registration_path %></li>
<li><%= link_to "Log Out", destroy_user_session_path, method: :delete %></li>
<% end %>
<% else %>
<li><%= link_to "Log In", new_user_session_path %></li>
<li><%= link_to "Sign Up", new_user_registration_path %></li>
<%end%>
</ul>
一切工作正常,直到我说else语句,但不知道我的错误是 - 我敢肯定,这是一个非常小的语法修正,但你的帮助会非常感激。
回答:
代码中有错误。
在else
开始前,您的代码中有额外的end
。
删除可能会解决您的问题...
回答:
删除<% end %>
就在<% else %>
之前。
的代码应该如下:
<ul class = "nav pull-right"> <% if user_signed_in? %>
<li><%= link_to current_user.full_name, edit_user_registration_path %></li>
<li><%= link_to "Log Out", destroy_user_session_path, method: :delete %></li>
<% else %>
<li><%= link_to "Log In", new_user_session_path %></li>
<li><%= link_to "Sign Up", new_user_registration_path %></li>
<%end%>
</ul>
回答:
<ul class = "nav pull-right"> <% if user_signed_in? %>
<li><%= link_to current_user.full_name, edit_user_registration_path %></li>
<li><%= link_to "Log Out", destroy_user_session_path, method: :delete %></li>
<% else %>
<li><%= link_to "Log In", new_user_session_path %></li>
<li><%= link_to "Sign Up", new_user_registration_path %></li>
<%end%>
</ul>
它应该是这样的
回答:
错误在你的代码,正如其他人所指出的,是你的if
之间的额外<% end %>
else
块。
在我看来,真正的解决办法是添加以下到您的Gemfile:(这通常是当你看到从语法问题导致此错误消息的真正的解决方案)
group :development do gem 'better_errors'
end
回答:
如果您想使用HAML,这可能是原因:
- model_class = Products .products-page
会有什么解决? Identation。
- model_class = Products .products-page
回答:
在我来说,我在一个循环忘了do
:
<% @things.each |thing| %>
的正确格式为:
<% @things.each do |thing| %>
以上是 Rails:语法错误,意外的keyword_ensure,预计$结束 的全部内容, 来源链接: utcz.com/qa/266845.html