我有一个Ruby on Rails OpenShift应用程序(ruby 1.9,Rails Rails 3.2.13),在开发环境中没有问题。然而,当我将应用程序部署到OpenShift,我得到以下错误:资产没有预编译在RoR Openshift应用程序
ActionView::Template::Error (logo.png isn't precompiled):
2: <header>
3: <div id="header" class="clearfix landing_header">
4: <a href="#" id="logo">
5: <%= image_tag("logo.png") %>
6:
7: </a>
我的理解是错误说logo.png不预编译。这将使意义,因为这些指令都在我的production.rb
环境设置:
config.serve_static_assets = false
config.assets.compress = true
config.assets.compile = false
config.assets.digest = true
嗯,是我的资产预编译?当我部署我的应用程序(使用git push
),我可以等等看:
remote: Precompiling with 'bundle exec rake assets:precompile'
而且没有错误。即使我使用SSH寻找预编译的资产在OpenShift回购,我可以看到它在那里,再与其他许多人:
> ls public/assets | grep logo
logo-66589ea9e7a1caa7f2151a721d6cdbd2.png
当我在浏览器中打开我的应用程序地址/资产/文件^^,我可以看到它。唯一的问题是image_tag没有。
我在做什么错?资产是预编译的,不是吗?我是否错误地使用了image_tag?提前致谢!
听起来像它与这个问题有关:https://github.com/openshift/origin-community-cartridges/issues/8 – user1116573 2014-09-27 11:06:54