5

非常に基本的な 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 ステートメントを追加するまで、すべてが正常に機能していましたが、エラーが何であるかはわかりません。これは非常にマイナーな構文修正であると確信していますが、ご協力をお願いします。

4

6 に答える 6

13

コードにエラーがあります。開始前にコードに
余分なものがあります。 それを削除すると、問題が解決する可能性があります...endelse

于 2013-02-26T05:19:49.113 に答える
9

他の人が指摘しているように、コードのエラーは、ブロックとブロック<% end %>の間の余分なものです。ifelse

私の意見では、本当の解決策は、Gemfile に以下を追加することです。

group :development do
  gem 'better_errors'
end

(これは、多くの場合、構文の問題が原因でこのエラー メッセージが表示された場合の実際の解決策です。)

于 2013-02-26T05:25:05.077 に答える
3

<% 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>
于 2013-02-26T05:20:07.273 に答える
0
<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>

このようになるはずです

于 2013-02-26T05:22:49.347 に答える