在Rails 4和Ruby 2.0中使用资产管道在本地计算机上一切正常。但是当部署到heroku时,显示:
-----> Preparing app for Rails asset pipeline
Running: rake assets:precompile
I, [2013-03-12T03:28:29.908234 #912] INFO -- : Writing /tmp/build_1n6yi8lwna3sj/public/assets/rails-2ee5a98f26fbf8c6c461127da73c47eb.png
I, [2013-03-12T03:28:29.914096 #912] INFO -- : Writing /tmp/build_1n6yi8lwna3sj/public/assets/trash-3c3c2861eca3747315d712bcfc182902.png
I, [2013-03-12T03:28:33.963234 #912] INFO -- : Writing /tmp/build_1n6yi8lwna3sj/public/assets/application-bf2525bd32aa2a7068dbcfaa591b3874.js
I, [2013-03-12T03:28:40.362850 #912] INFO -- : Writing /tmp/build_1n6yi8lwna3sj/public/assets/application-13374a65f29a3b4cea6f8da2816ce7ff.css
Asset precompilation completed (14.36s)
Heroku似乎可以编译文件,但是将其放在/ tmp中没有任何错误。我的问题是:
- Heroku如何将资产文件编译到/ tmp?
- 我的最后一个解决方案是在本地运行RAILS_ENV = production bundle exec rake asset:precompile,但是这会在public / assets中而不是manifest.yml中生成manifest-xxxxxx.json,因此heroku不会检测到JSON清单文件。我通过从json文件手动创建一个yml进行了整理,heroku感到高兴。heroku的方法是否过时了?