Ruby on rails 3.1 Rails 3.1、Blueprint CSS和Heroku

Ruby on rails 3.1 Rails 3.1、Blueprint CSS和Heroku,ruby-on-rails-3.1,heroku,blueprint-css,Ruby On Rails 3.1,Heroku,Blueprint Css,我在这个小组和其他网站上搜索了一下,找到了一篇文章的点点滴滴 解决我的问题,但还没有找到任何真正有效的方法 这是我的问题。 我正在运行Rails 3.1并部署到Heroku cedar堆栈 我的资产/样式表目录中有蓝图 当我尝试将其添加到我的应用程序模板时: <%= stylesheet_link_tag 'blueprint/screen', :media => "screen, projection" %> <%= stylesheet_link_tag

我在这个小组和其他网站上搜索了一下,找到了一篇文章的点点滴滴 解决我的问题,但还没有找到任何真正有效的方法

这是我的问题。 我正在运行Rails 3.1并部署到Heroku cedar堆栈

我的资产/样式表目录中有蓝图

当我尝试将其添加到我的应用程序模板时:

  <%= stylesheet_link_tag 'blueprint/screen', :media => "screen, 
projection" %> 
  <%= stylesheet_link_tag 'blueprint/print', :media => "print" %> 
然后我在Heroku上发现一个错误,上面写着“蓝图/ screen.css不是预编译的”,但当我查看public/assets时 目录,它在那里,它出现在清单中。即使在提交和部署之前在本地运行预编译,也会出现此错误

如果我没有在我的应用程序模板中放入任何内容,让Rails查找 Blueprint,我将手动运行预编译,部署,Heroku将加载站点。那就是 好的

然而,我得到了每个链接的URL路径。一些阅读 显示我需要添加“:media=>“print”和“screen,projection” 但每次我向模板添加行时 根本不会加载,因为即使我 预先编译它们


非常感谢您提供的所有帮助。

如果您在本地运行该命令,我想您的资产不在Git中。我不认为向Git中添加资产通常是一个好主意,因为普遍的共识是这样做会带来更多麻烦:

有关资产管道和Heroku的更多信息,请参见此处:

就我个人而言,我将资产留给部署后预编译,然后使用asset_sync gem将文件推送到S3进行服务。有关这方面的更多信息,请参阅:


除了您提到的步骤之外,您是否记得在推送到Heroku之前将public/assets目录添加到git存储库中

我和你有同样的问题,直到我读到尼尔提到的同一篇文章,这让我想起了我忘记的这一简单步骤


感谢您的回复。我找到了一个解决方案,解决了90%的问题。我将production.rb的第18行更改为:“config.assets.compile=true”,并删除了application.html.erb中的行,从而解决了Heroku问题。我仍在处理显示的链接路径。
RAILS_ENV=production bundle exec rake assets:precompile