Rails Asset Pipeline预编译,如何以正确的方式做到?

时间:2014-01-25 20:49:14

标签: ruby-on-rails heroku assets precompile

我在Rails 4.0上真的很新。当我推动heroku Cedar堆栈时,我不明白预编译过程。我这样做:

$> rake assests:precompile
$> git add .
$> git commit -m "foobar" && git push && git push heroku

所有似乎都正常工作,但我的图片/ CSS似乎没有在heroku应用程序上“加载”(Chrome)(但在本地完美运行):

Failed to load resource: the server responded with a status of 404 (Not Found) http://xxxapp.herokuapp.com/stylesheets/bootstrap.min.css

我尝试了一些东西,但我听说这不是一个好的解决方案。我修改了config/environments/production.rb文件并更改了:

  config.assets.compile = false

  config.assets.compile = true

它工作正常,我的所有图像和CSS都已加载,但我想我错过了一些东西。


另外

我试过了:

$> rm -rf public/assets
$> git add .
$> git commit -m "foooo" && git push && git push heroku

预编译过程运行良好,但之后,我的应用程序仍然没有加载图像和CSS。


通过添加:

编辑我的Gemfile
group :production do
    gem 'rails_12factor'
end

图片加载效果不错,但没有css ..

2 个答案:

答案 0 :(得分:1)

Heroku应默认为您编译资产。

您不需要做任何其他事情。

如果您已经编译了资产,可能需要从公共目录中删除它们,然后再次推送到heroku。

答案 1 :(得分:0)

你应该在heroku上预编译,而不是在你的计算机上。

heroku run rake assets:precompile

我不知道,如果这是问题,我是在一年前做过的。