简体   繁体   中英

Syntax error, unexpected keyword_ensure, expecting keyword_end

I currently have 3 loops im in my _header I have

if current_user.admin? && !current_user?(user) 

Also

<% if logged_in? %>

And

<% else %>

It all works fine with no error if i take out

<% if current_user.admin? && !current_user?(user) %>
  <li><%= link_to "Admin", users_path %></li>
</end>

When I paste it back in i get the error. I dont know whats wrong with this syntax.

Can anyone help?

    <ul class="nav navbar-nav navbar-right">   
        <% if current_user.admin? && !current_user?(user) %>
          <li><%= link_to "Admin", users_path %></li>
        </end>
        <% if logged_in? %>
          <li><%= link_to "Dash", users_path %></li>
          <ul class="nav navbar-nav">
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Items<span class="caret"></span></a>
              <ul class="dropdown-menu">
                <li><%= link_to "New Item", new_item_path %></li>
                <li><%= link_to "Edit Items", user_items_path %></li>
                <li><a href="#">Mass Upload Items</a></li>
                <li><a href="#">Upload Item Images</a></li>
              </ul>
            </li>
          </ul>
          <ul class="nav navbar-nav">
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Profile<span class="caret"></span></a>
              <ul class="dropdown-menu">
                <li><%= link_to "View Profile", user_path(current_user) %></li>
                <li><%= link_to "Edit Profile", edit_user_path(current_user) %></li>
              </ul>
            </li>
          </ul>
          <li><%= link_to "Messages", users_path %></li>
          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Settings<span class="caret"></span></a>
            <ul class="dropdown-menu">
              <li><a href="#">Edit Money Back Policies</a></li>
              <li><a href="#">Edit Warranty Policies</a></li>
            </ul>
          </li>
          <li><%= link_to "Log out", logout_path, method: "delete" %></li>
        <% else %>
          <li><%= link_to "Log In", login_path %></li>
          <li><a href="#">Sign Up</a></li>
        <% end %>
      </ul>
    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</header>

You're not properly closing the if you pasted :

    <% if current_user.admin? && !current_user?(user) %>
      <li><%= link_to "Admin", users_path %></li>
    </end>

You should try to replace that by :

    <% if current_user.admin? && !current_user?(user) %>
      <li><%= link_to "Admin", users_path %></li>
    <% end %>

structure of if loop in ruby.your end tag of if loop is incorrect.see below

<%if%>
   //condition here
<%end%>

can you try this out:

<% if logged_in? && !current_user?(user) && current_user.admin?  %>
  <li><%= link_to "Admin", users_path %></li>
</end>

Syntex error in closing of if block syntex.

1 <% if current_user.admin? && !current_user?(user) %>
2   <li><%= link_to "Admin", users_path %></li>
3 </end> 

Error at line 3, replace line 3 ie </end> with <% end %>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM