【发布时间】:2012-10-16 08:09:15
【问题描述】:
我正在使用 Rails 3.1.1,并且有一个网站,其样式表设置会根据季节等在一年中发生变化,如下所示:
<%= stylesheet_link_tag "application" %>
<%= stylesheet_link_tag 'themes/theme_winter.css' %>
与theme_winter.css一起被放置在stylesheet-folder中名为themes的文件夹中。
我正在使用 Memcachier,所以在网上看起来是这样的:
<link href="/assets/application-75b2717254d80c8ed37d5f955e2a0287.css" media="screen" rel="stylesheet" type="text/css" />
<link href="/assets/themes/theme_winter-a5de7f8f92d3d03061fd6aeb23ca2c40.css" media="screen" rel="stylesheet" type="text/css" />
这在我的本地机器上工作得很好,但在 Heroku 上,冬季样式表(和类似的)不会加载。如果我查看页面源并单击链接(在页面源中,以查看 css),我的网络浏览器中会显示此错误:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD><TITLE>Internal Server Error</TITLE></HEAD>
<BODY>
<H1>Internal Server Error</H1>
undefined method `each' for nil:NilClass
<HR>
<ADDRESS>
WEBrick/1.3.1 (Ruby/1.9.2/2011-07-09) at
www.mydomain.com:80
</ADDRESS>
</BODY>
</HTML>
我真的不明白为什么它指的是undefined methodeach' for nil:NilClass`。这没有意义!
我相信这个问题与缓存有关,因为在我实现 Memcachier 之前它曾经工作过,但我也记错了。
无论如何,我尝试添加:cache => false 并使用git add -A 上传新文件,但没有任何运气。
我真的看不出哪里出了问题。我从未在 CSS 中看到过这样的错误!你能帮帮我吗?
【问题讨论】:
标签: css ruby-on-rails stylesheet-link-tag