Ruby on rails Rails:语法错误,意外的关键字,应为$end
我正在创建一个非常基本的rails应用程序(学习教程),不明白为什么会出现这个错误。我试过排除故障,但没用 我的代码:Ruby on rails Rails:语法错误,意外的关键字,应为$end,ruby-on-rails,erb,Ruby On Rails,Erb,我正在创建一个非常基本的rails应用程序(学习教程),不明白为什么会出现这个错误。我试过排除故障,但没用 我的代码: <ul class = "nav pull-right"> <% if user_signed_in? %> <li><%= link_to current_user.full_name, edit_user_registration_path %></li> <li><%= li
<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
。删除可能会解决您的问题的…删除
之前的
代码应如下所示:
<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>
应该是这样的正如其他人指出的那样,代码中的错误是
和else
块之间的额外
我认为,真正的解决方案是将以下内容添加到您的GEM文件中:
group :development do
gem 'better_errors'
end
(当您看到由语法问题导致的错误消息时,这通常是真正的解决方案。)如果您使用HAML,这可能是原因:
- model_class = Products
.products-page
什么能解决问题?识别
- model_class = Products
.products-page
在我的例子中,我忘记了循环中的
do
:
<% @things.each |thing| %>
正确的格式是:
<% @things.each do |thing| %>
这很有趣,我没听说过这个宝石-我会试试看,谢谢!
<% @things.each do |thing| %>