2015-07-09 67 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