2015-03-03 72 views
0

我在使用FastCGI的DreamHost共享服务器上运行Rails 4应用程序,并且我似乎无法使资产正常工作。Rails 4 + DreamHost FastCGI:预编译资源不会改变图像url链接

预编译将用于编译application.css.scss,但image-urlasset-url链接不会更改为正确的值(例如,url(/assets/images/image-{digest}.png)。

我听说您可以将其更改为.css.scss.erb并使用<%= image_tag“image.png”%>,但我宁愿不更改文件中的每一个链接,如果我可以帮助它。

我错过了什么吗?我跑

bundle exec rake assets:precompile RAILS_ENV=production和我有production.rb

config.assets.compile = false 
config.assets.digest = true 

什么都没有我做了吗?

回答

0

我得到了在轨-4.2此警告消息。 2:“拒绝警告:配置选项config.serve_static_assets已重命名为config.serve_static_files来澄清其作用(它只能启用public文件夹中的所有内容并与资产管道无关)。 Rails 5.0中将删除serve_static_assets别名。请相应迁移您的配置文件。”

这是在默认情况下我的应用程序创建的线。您应该使用static_files代替。

config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present? 

我发现Rails 4: assets not loading in production并添加config.assets.precompile = ['*.js', '*.css', '*.css.erb'],所以你应该能够有一些像

config.assets.precompile = ['*.png', '*.js', '*.css', '*.css.erb'] 

文件类型只需添加到阵列