2016-05-01 6 views
0

Ich weiß, dass dies zuvor beantwortet wurde, aber ich habe die meisten von ihnen gelesen und ich kann es immer noch nicht herausfinden. Weiß jemand, was los ist?Syntax Fehler, unerwartete Keyword_else, erwartet Ende-of-Eingabe sonst^

<% if current_user.try(:email) == Join.all(:email) %> 
     <div class="panel-default"> 
     <div class="panel-body"> 
      You're already signed up for this month! Thanks! 
     </div> 
     </div> 
    <% else %> 
     <% if user_signed_in? %> 
     <%= form_for @join do |f| %> 
      <%= f.email_field :email, value: current_user.email, class: "form-control input-lg", id: "join" %> <br> 
      <%= f.submit "Join This Month's Rewards", class: "btn btn-success btn-lg" %> 
     <% end %> 
     <% end %> 
    <% else %> 
     <div class="panel panel-default"> 
     <div class="panel-body"> 
     Sorry, you're not currently signed in, so you can't sign up for our rewards. You can sign in <a href="https://stackoverflow.com/users/sign_in">here.</a> 
     </div> 
     </div> 
    <% end %> 

sind die vollständigen Fehler: /Users/Sam/Documents/workspace/rewardsApp/app/views/joins/new.html.erb:19: syntax error, unexpected keyword_else, expecting keyword_end else ^ Der Fehler ist auf der Linie 29, die die Hilfe <% else %> nachdem die beide <% end %> ist, am meisten geschätzt!

+0

Sie sollten den vollständigen Fehler angeben. – Laurel

+0

@Laurel Ich habe es repariert ... Weißt du, was das Problem ist? Ich hasse es, um Hilfe zu bitten, aber ich bin wirklich festgefahren. – GOAT

Antwort

0

Es sieht so aus, als ob Ihr Setup zu früh zu Ende geht, um drei Zustände der Ansicht zu berücksichtigen: if/else.

+0

Dank @joncoud, das funktioniert. Sie haben nach dem Formular eine <% end %> vergessen. aber anders als das funktionierte es. – GOAT

0

Dies ist wahrscheinlich ein gutes Beispiel dafür, warum das Einrücken Ihres Codes in geeigneter Weise sehr hilfreich ist. Sobald Sie dies tun, wird es offensichtlich, dass Sie eine zweite else Klausel haben.

<% if current_user.try(:email) == Join.all(:email) %> 
    <div class="panel-default"> 
    <div class="panel-body"> 
     You're already signed up for this month! Thanks! 
    </div> 
    </div> 
<% else %> 
    <% if user_signed_in? %> 
    <%= form_for @join do |f| %> 
     <%= f.email_field :email, value: current_user.email, class: "form-control input-lg", id: "join" %> <br> 
     <%= f.submit "Join This Month's Rewards", class: "btn btn-success btn-lg" %> 
    <% end %> 
    <% end %> 
<% else %> <%# <= Uh oh, second else clause %> 
    <div class="panel panel-default"> 
    <div class="panel-body"> 
     Sorry, you're not currently signed in, so you can't sign up for our rewards. You can sign in <a href="https://stackoverflow.com/users/sign_in">here.</a> 
    </div> 
    </div> 
<% end %> 
Verwandte Themen