2015-07-09 94 views
0

我在app/assets/stylesheets中創建了一個css文件home_page.css.scss,並將標記<% stylesheet_link_tag 'home_page.css' %>添加到了我的html.erb文件index.html.erbCSS未顯示在視圖中

當我運行rails服務器(在重新啓動以便CSS可以編譯後)時,我可以看到我的頁面的HTML內容爲localhost:3000,但是CSS內容沒有找到的地方。

我的Rails應用程序的全部源代碼可以在GitHub上我可以查看是否有幫助:

https://github.com/adam-wanninger/tweet_down

我在做什麼錯?

這裏是index.html.erb

<!DOCTYPE html> 
<html> 

<head> 
    <% stylesheet_link_tag 'home_page.css' %> 
    <title>Tweet Down</title> 
</head> 

<body> 

<h1>Tweet Down</h1> 

<p>Tweet Down is a Ruby on Rails app built by me, Adam Wanninger. I built Tweet Down to be a basic (but stylish) Twitter feed for next years presidential candidates.</p> 

<div> 
    <p id="dem_drop_down">Democratic Party Candidates<br> 
    <select name="democrat_menu" onChange="window.document.location.href=this.options[this.selectedIndex].value;" value="GO"> 
     <option selected="selected">Bernie Sanders</option> 
     <option value="year/1">Hillary Clinton</option> 
     <option value="year/2">Michael Jackson</option> 
    </select> 
    </p> 
</div> 

<div> 
    <p id="rep_drop_down">Republican Party Candidates<br> 
    <select name="republican_menu" onChange="window.document.location.href=this.options[this.selectedIndex].value;" value="GO"> 
     <option selected="selected">Ted Cruz</option> 
     <option value="URL">Jeb Bush</option> 
     <option value="URL">Jon Stamos</option> 
    </select> 
    </p> 
</div> 




</form> 

</body> 

</html> 

回答

0
<% stylesheet_link_tag 'home_page.css' %> 

缺少=開頭。

嘗試

<%= stylesheet_link_tag 'home_page.css' %> 
+0

上帝之母.........謝謝先生。 – FluffyKittens

0

index.html.erb的內容實際上是順水推舟的application.html.erb身體。因此,您可能只想包含index.html.erb文件中以<h1>開頭的部分。

編輯

所以在你/app/views/layouts文件夾中有application.html.erbapplication.html.erb是該網站的默認佈局。我不知道你爲什麼這樣做,但你改變

<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> 
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> 

<%= stylesheet_link_tag 'default', media: 'all', 'data-turbolinks-track' => true %> 
<%= javascript_include_tag 'default', 'data-turbolinks-track' => true %> 

通過這樣做,你/app/assets/stylesheets推翻自動列入的CSS文件。

如果將其更改回來,則home_page.css應自動包含在資產中。現在

,如果你看看application.html.erb的內容,你會看到它看起來像這樣:

<!DOCTYPE html> 
<html> 
<head> 
    <title>TweetDown</title> 
    <%= stylesheet_link_tag 'default', media: 'all', 'data-turbolinks-track' => true %> 
    <%= javascript_include_tag 'default', 'data-turbolinks-track' => true %> 
    <%= csrf_meta_tags %> 
</head> 
<body> 

<%= yield %> 

</body> 
</html> 

凡說<%= yield %>是其中index.html.erb的全部內容被輸出。因此,您有index.html.erb,您將有不正確的(非驗證)HTML。您應該將您的index.html.erb更改爲您的身體所需的HTML部分。在你改變你的樣式表和JavaScript聲明中的default而不是application之後,它應該仍然有效。

+0

恐怕我不太明白你的意思......你能舉個例子嗎? – FluffyKittens

+0

@FluffyKittens我更新了答案以提供更多詳細信息。 – user1002119

+0

啊,我必須改變'應用程序'默認在這個頁面上,因爲我得到一個錯誤。我搜索了這個錯誤,並從我能確定的問題出發,這是許多在Windows上使用Rails的開發人員遇到的問題。但是,我可以將其更改回來,看看錯誤是否仍然存在。 – FluffyKittens