1

我是ruby的新手,這是我的第一個stackoverflow問題(儘管我已經使用過以前的問題和答案了 - 謝謝你的stackoverflow社區!)對不起,如果這是一個愚蠢的問題。bootstrap.css中的CSS屬性不被Heroku識別

我已經看到關於Heroku和boostrap.css的問題的其他問題,但這並不是一個徹頭徹尾的錯誤,因爲它不像預期的那樣工作。

我最近使用boostrap.css提供的樣式在我的Rails 3應用程序中添加了一個頂級導航欄。在文檔中,他們建議將padding-top:40px添加到css文件,以便爲導航欄騰出空間。

填充在本地主機上看起來正確,但無論出於何種原因在Heroku中不起作用。 boostrap css的其餘部分似乎是正確的(按鈕顏色,表格屬性等),但我無法制作填充棒。一個簡單的解決方法是在我的index.html文件的頂部添加一些
標記,但是我想知道爲什麼會發生這種情況,以免它指示更大的css問題。

代碼添加到bootstrap.css文件填充:

html, body {padding-bottom: 10px; 
padding-right: 10px; 
padding-left: 10px; 
padding-top: 40px; 
} 

的index.html代碼:

<div class="topbar"> 
<div class="fill"> 
    <div class="container"> 
     <h3><%= link_to 'Your Book Club', homes_path %></h3> 
     <ul> 
      <li><%= link_to 'Home', homes_path %></li> 
      <li class="active"><%= link_to 'Books', books_path %></li> 
      <li><%= link_to 'Locations', locations_path %></li> 
      <li><a href="#">Calendar</a></li> 
     </ul> 
     <form action=""> 
     <input type="text" placeholder="Search" /> 
     </form> 
     <ul class="nav secondary-nav"> 
     <li class="menu"> 
      <a href="#" class="menu">Account stuff will go here</a> 
      <ul class="menu-dropdown"> 
       <li><a href="#">Dolor sit</a></li> 
       <li><a href="#">Amet Consequeter</a></li> 
       <li class="divider"></li> 
       <li><a href="#">Enough with the Latin</a></li> 
      </ul> 
     </li> 
     </ul> 
    </div> 
</div> 
</div> 


<h1>Which books do you want to read as part of our book club?</h1> 

<br /> 

<h3>Instructions:</h3> 

<br /> 

<p>1. Vote for any of the books below that you'd like to read</p> 

<br /><br/> 

<p>2. And/or: 

    <button type="submit" class="btn"><%= link_to 'Add a New Book', new_book_path %></button></p> 

    <br /><br/> 

<p>3. 

    <button type="submit" class="btn info"><a href="./locations">Vote on  Locations</a></button> 


      <br /><br /> 

<table class="zebra-striped"> 
<tr> 
<th>Title (Click name to see description)</th> 
<th>ISBN</th> 
<th>How many votes does it have?</th> 
<th>Vote for this book</th> 
<th></th> 
</tr> 


<% @books.each do |book| %> 
<tr> 

<td><%= link_to book.title, book %></td> 
<td><%= book.isbn %></td> 
<td><%= pluralize(book.votes.length, "vote") %></td> 
<td><%= link_to '+1', votes_path(:book_id => book.id), :method => :post %></td> 
<td><span class="label important"><%= link_to 'Delete', book, confirm: 'Are you sure?',    
       method: :delete %></span></td> 
    </tr> 
<% end %> 

</div> 

</table> 

<br /> 
+0

您是否記得提交併推送適當的填充集?你有沒有試過硬刷新(只是爲了確保你沒有看到陳舊的CSS)? – coreyward

+0

我已經提交了好幾次(將css移到文件底部,然後是頂部),但沒有任何提示。我在不同的瀏覽器中打開了應用程序,看起來相同(沒有填充)。你可以看看這裏:http://simple-water-5927.herokuapp.com/books –

回答

4

我沒聽懂你正在使用的資產管道。這就是你的問題所在;你需要預先編譯你的資產,你提交前推:http://devcenter.heroku.com/articles/rails31_heroku_cedar

bundle exec rake assets:precompile 
git ci -a -m "Compile assets for production" 
git push 

請注意,如果你在青瓷雪松有一些鉤子會爲你做這個的蛞蝓編譯,這是非常方便的。

+0

哇謝謝,當然做了一些事情!問題是,現在bootstrap.css中的所有其他樣式都消失了(來自Heroku,而不是本地主機)。你知道爲什麼Heroku上的css與我的本地服務器上的css看起來不一樣嗎? –

+0

我剛剛將books.css.scss(用於我的書籍模型)文件的CSS移動到application.css.scss,現在填充工作在Heroku中!必須與資產管道有關,我現在正在這裏瞭解:http://guides.rubyonrails.org/asset_pipeline.html 謝謝你的幫助! –

+0

沒問題!您是否添加了一行來將bootstrap.css導入到您的application.css文件中? – coreyward