Yig*_*vci 6 ruby ruby-on-rails heroku ruby-on-rails-5
我在Heroku上部署了一个新版本的Rails 5应用程序,运行在cedar-14堆栈上.它在部署时没有预编译,所以我heroku run rake assets:precompile手动完成.不过,我可以看到它包含旧资产,同时需要css和js文件.
我的文件都在,app/assets所以目录不可能不在资源编译路径中.
我的配置application.rb和production.rb:
config.assets.compile = true
# I checked the environment variable, it responds to 'enabled',
# which would return true for the option.
config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
# Which I changed to expire old assets.
config.assets.version='1.1'
Run Code Online (Sandbox Code Playgroud)
我尝试过这些,但它们不起作用:
$ heroku restart$ heroku run rake assets:precompile$ heroku run rake assets:clobber这些奇怪的是它们不会影响我检查过的heroku服务器中的资产$ heroku run ls public/assets.即便如此$ rake assets:precompile,即使这样说:
WRITING /app/public/assets/application-{VERY_LONG_HASH}.js
WRITING /app/public/assets/application-{VERY_LONG_HASH}.js.gz
WRITING /app/public/assets/application-{VERY_LONG_HASH}.css
WRITING /app/public/assets/application-{VERY_LONG_HASH}.css.gz
Run Code Online (Sandbox Code Playgroud)
当我偷看时$ heroku run ls public/assets,我仍然看到旧资产留在那里.
编辑:我通过删除所有本地资产解决它public/assets,重新编译它们$ rake assets:clean && rake assets:precompile并在我的git存储库中包含这些资产.这是一个问题:
heroku不应该负责动态编译我的资产吗?我想我不应该在每次部署应用程序时编译我的资产.谢谢.
| 归档时间: |
|
| 查看次数: |
1366 次 |
| 最近记录: |