资产网址Rails 4.1和Heroku

时间:2014-05-08 10:31:38

标签: ruby-on-rails ruby heroku

将应用程序部署到heroku时似乎总是出错,今天它的图像没有被渲染。

我跑了

rake assets:precompile RAILS_ENV=produciton

提交更改并推送到heroku

在我看来,例如我有

<%= image_tag('/assets/logo.png') %>

但是图像没有被渲染,因为它寻找logo.png而不是

logo-321321327454547676576586876.png
运行预编译时生成的

我认为我在我的production.rb文件somwhere中缺少一个选项

Rails.application.configure do

config.consider_all_requests_local       = false
config.action_controller.perform_caching = true

config.serve_static_assets = false

config.assets.js_compressor = :uglifier

config.assets.compile = false

config.assets.digest = true

config.assets.version = '1.0'

config.log_level = :info

config.active_support.deprecation = :notify

config.log_formatter = ::Logger::Formatter.new

config.active_record.dump_schema_after_migration = false
end

如何让应用程序查找预编译时创建的生成的图像网址?一些简单的猜测

我将来会使用S3存储桶来提供这些服务,但我有兴趣让它自己使用Heroku

由于

1 个答案:

答案 0 :(得分:0)

在更详细地阅读api文档并采用Baloo的建议后,答案非常简单,只是我的路径声明的语法问题

如果您的图片位于资产之下,请使用

<%= image_tag('image.ext') %>

如果它在子目录中,则使用

<%= image_tag('sub-dir/image.ext') %>

希望这有助于其他人