【发布时间】:2014-01-08 06:30:20
【问题描述】:
我在将项目部署到 Heroku 服务器时遇到问题(预编译失败)。所以我找到了这个回复,https://stackoverflow.com/a/13713753/2989437,并跟进了这个建议。我在 application.rb 文件中添加了一行:
应用程序.rb
module FirstEdc
class Application < Rails::Application
config.assets.initialize_on_precompile = false # I added this line
...
end
end
然后我运行预编译命令,提交更改,并成功部署到 heroku。但是,现在我的 bootstrap/css 似乎在 heroku 部署和本地部署中都停止运行了。
我了解到我应该在我的 deployment.rb 文件中添加另一行:
部署.rb
FirstEdc::Application.configure do
...
# Allows for local precompilling --added by Ian
config.assets.prefix = '/dev-assets'
end
所以我添加了这个,重新编译并重新部署,但无济于事。
最后,我运行了一个 rake assets:clean,试图至少让我的本地部署恢复正常,但它没有奏效。
任何建议将不胜感激。我现在正在阅读更多资产管道,但我觉得这可能是缓存问题或其他什么。当我弄清楚发生了什么时,我会更新。
编辑。澄清一下,我已经尝试删除这两个添加,运行 rake assets:clean 和 rake assets:clean:all,但都没有修复我的本地部署。
【问题讨论】:
-
您使用的是哪个版本的 Rails?
initialize_on_precompile在 Rails 4 中无效。 -
assets:clean会清除预编译的资产,但 Sprockets 会保留一个缓存,您也可以尝试清除它。使用rake tmp:cache:clear:stackoverflow.com/questions/9246585/…
标签: ruby-on-rails heroku asset-pipeline precompiled