Rails 3.1, Blueprint CSS and Heroku



我已经搜索了这个组和其他Web,并找到了一个解决我的问题,但还没有找到任何真正有效的方法。

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

在我的assets/stylesheets目录中有一个Blueprint

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

  <%= stylesheet_link_tag 'blueprint/screen', :media => "screen, 
projection" %> 
  <%= stylesheet_link_tag 'blueprint/print', :media => "print" %> 

并在我的命令提示符下运行:

RAILS_ENV=production bundle exec rake assets:precompile 

然后部署,我在Heroku上得到一个错误,说"蓝图/screen.css不是预编译的",但是当我在public/assets中查看时目录,它在那里,它出现在清单中。即使在提交和部署之前在本地运行预编译,也会出现此错误。

如果我没有在我的应用程序模板中放任何东西,让Rails找到蓝图,我将运行预编译手动,部署和Heroku将加载网站。这是好吧。

然而,我得到每个链接的URL路径。一些阅读显示我需要添加":media => "print"one_answers"screen, projection"到我的模板,但每次我添加行到模板Heroku不会加载,因为文件没有预编译,即使我已经预编译它们。

如果你在本地运行命令,我猜你的资产不在Git中。我不认为在git中添加资产是一个好主意,因为普遍的共识是它比它的价值更多的麻烦:

我应该将生成的代码存储在源代码控制

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

http://devcenter.heroku.com/articles/rails31_heroku_cedar the_asset_pipeline

就我个人而言,我将这些资产留给部署后的预编译,然后使用asset_sync gem将这些文件推送到S3进行服务。关于此的更多信息在这里:

http://devcenter.heroku.com/articles/cdn-asset-host-rails31

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

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

http://devcenter.heroku.com/articles/rails31_heroku_cedar

相关内容

  • 没有找到相关文章

最新更新