【发布时间】:2014-05-08 18:45:04
【问题描述】:
将应用程序部署到 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
如何让应用程序查找预编译时创建的生成图像 url?一些简单的我猜
我将在未来使用 S3 存储桶来提供这些服务,但我有兴趣让它单独与 Heroku 一起工作
谢谢
【问题讨论】:
-
它在 app/assets/images 中吗?如果是这样,您应该只需要
image_tag('logo.png') -
如果图片在app/assets/photos/logo.png中,会变成image_tag(/assets/photos/logo.png')还是image_tag(/photos/logo.png')
-
@Richlewis:试试
<%= asset-path 'logo.png' %>。 -
我不知道,但我会这么认为。您可以只在图像下拥有子文件夹并拥有
image_tag('photos/logo.png') -
谢谢,在详细阅读文档后尝试过 :-)
标签: ruby-on-rails ruby heroku