1

在我的導航應用程序中,使用bootstrap3設置樣式,我決定切換Slim而不是現有的ERB。當我將erb視圖文件轉換爲slim時,我注意到navbar鏈接的樣式消失了。自舉導航條鏈接的檢測失敗,並且超薄

# app/views/layouts/_navbar.html.slim 
nav.navbar.navbar-default 
    .container 
    .navbar-header.navbar-left 
     button(type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-navbar-collapse") 
     span.sr-only Toggle navigation 
     span.icon-bar 
     span.icon-bar 
     span.icon-bar 
     a.navbar-brand href="/" Foody 

    .collapse.navbar-collapse.navbar-right#bs-navbar-collapse 
     ul.nav.navbar-nav 
     - if user_signed_in? 
      li = link_to current_user.email, edit_user_registration_path 
      li = link_to 'New Recipe', new_recipe_path 
      li = link_to 'Sign Out', destroy_user_session_path, method: :delete, confirm: "Are you sure?" 
     - else 
      li = link_to 'Sign In', new_user_session_path 
      li = link_to 'Sign Up', new_user_registration_path 

     span.clearfix 

這裏是原始文件我從轉換:

# app/views/layouts/_navbar.html.erb 
<nav class="navbar navbar-default" role="navigation"> 
    <div class="container"> 
    <div class="navbar-header navbar-left"> 
     <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-navbar-collapse"> 
     <span class="sr-only">Toggle navigation</span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     </button> 
     <a class="navbar-brand" href="/">Foody</a> 
    </div> 
    <div class="collapse navbar-collapse navbar-right" id="bs-navbar-collapse"> 
     <ul class="nav navbar-nav"> 
     <% if user_signed_in? %> 
      <li><%= link_to current_user.email, edit_user_registration_path %></li> 
     <li><%= link_to 'New Recipe', new_recipe_path %></li> 
      <li><%= link_to 'Sign Out', destroy_user_session_path, method: :delete, confirm: "Are you sure?" %></li> 
     <% else %> 
      <li><%= link_to 'Sign In', new_user_session_path %></li> 
      <li><%= link_to 'Sign Up', new_user_registration_path %></li> 
     <% end %> 
     </ul> 
    </div> 
    <span class="clearfix"></span> 
    </div> 
</nav> 

這裏的結果都正常&響應模式

enter image description here

這裏的輸出(對不起爲複雜)

<div class="collapse navbar-collapse navbar-right" id="bs-navbar-collapse"> 
<ul class="nav navbar-nav"></ul><li><a href="https://stackoverflow.com/users/sign_in">Sign In</a></li> 
<li><a href="https://stackoverflow.com/users/sign_up">Sign Up</a></li><span class="clearfix"></span> 

我在哪裏做錯了?

+0

您可以在發生問題之前/之後共享生成的html嗎? –

+0

@GraemeMcLean問題已更新 – ekremkaraca

+0

謝謝 - 這是來自ERB還是Slim?我們真的需要看到兩者,並且讓你看到差異在哪裏。 –

回答

1

縮進失敗bagan ul.nav.navbar-nav後引起的問題。需要更多苗條實踐。特別感謝Graeme!

nav.navbar.navbar-default 
    div.container 
    div.navbar-header.navbar-left 
     button(type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-navbar-collapse") 
     span.sr-only Toggle navigation 
     span.icon-bar 
     span.icon-bar 
     span.icon-bar 
     a.navbar-brand href="/" Foody 
    div.collapse.navbar-collapse.navbar-right#bs-navbar-collapse 
     ul.nav.navbar-nav 
     - if user_signed_in? 
      li = link_to current_user.email, edit_user_registration_path 
      li = link_to 'New Recipe', new_recipe_path 
      li = link_to 'Sign Out', destroy_user_session_path, method: :delete, confirm: "Are you sure?" 
     - else 
      li = link_to 'Sign In', new_user_session_path 
      li = link_to 'Sign Up', new_user_registration_path 
    span.clearfix