我正在使用 Rails 3.1.1 并且有一个网站,其样式表设置会根据季节等在一年中发生变化,如下所示:
<%= stylesheet_link_tag "application" %>
<%= stylesheet_link_tag 'themes/theme_winter.css' %>
与theme_winter.css
被放置在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),我的 Web 浏览器中会显示此错误:
<!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 method
为 nil:NilClass 指代每个'。这没有意义!
我相信这个问题与缓存有关,因为在我实现 Memcachier 之前它曾经工作过,但我也记错了。
无论如何,我都尝试添加:cache => false
和上传新文件,git add -A
但没有任何运气。
我真的看不出出了什么问题。我从未在 CSS 中看到过这样的错误!你可以帮帮我吗?