Heroku Ruby on Rails应用程序don't更新公共/资产目录中的未消化资产
Heroku Ruby on Rails app don't updates non-digested assets in public/assets dir
我在heroku上有RubyonRails应用程序。
我们正在使用ruby 2.1.5
ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux]
和Ruby on Rails 4.1.1
Gemfile:http://codepad.org/6YwcIHYL
链轮版本(摘自gemfile.lock
):
sprockets (2.11.0)
hike (~> 1.2)
multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
sprockets-rails (2.2.4)
actionpack (>= 3.0)
activesupport (>= 3.0)
sprockets (>= 2.8, < 4.0)
当然,我们正在使用消化资产
例如application-d99ed24f47c5c39b96889148558cb16c.js
-他们正在工作
除此之外,我正在为CKEditor、使用未消化的资产
我把它们放在RAILS_ROOT/public/assets
目录下
所以/assets/ckeditor/config.js
应该指向RAILS_ROOT/public/assets/ckeditor/config.js
问题
我无法更新public/assets
下的资产
我从CKEditor更新了一个文件,但当我:时,它也没有显示更改
- 通过CURL获取文件
- 在chrome的隐身窗口中查看源代码(隐身->"避免"缓存)
我提交了更改,建立在CircleCI通行证(持续集成服务)之上。自动部署会更新临时服务器。
但我还是拿到了旧文件。
早上,我使用heroku run bash
查看了文件的来源
heroku run bash
cd public/assets/ckeditor
cat config.js
并返回旧版本。通过各种tricks
(例如rm
、cp
、echo NEW_CONTENT >> NEW_FILE.js
)进行更改也不起作用。
Heroku返回旧版本。。。
PS将CKEditor从public/assets/ckeditor
移动到app/assets/ckeditor
并不能解决问题。
更新
application.js内容:http://codepad.org/ZpBruQt9
但是CKeditor config.js
文件(public/assets/ckeditor/config.js
)不包含在application.js
中。
它是非摘要资产:)
Heroku不允许您在其dyno中存储文件,您可能编辑过的任何文件都会每15分钟重新设置一次种子。因此,直接通过rm、cp、echo来改变它是行不通的。该文件必须由您的git分支跟踪。
我可以建议使用ckeditor宝石吗,它可以很好地配合链轮(https://github.com/galetahub/ckeditor),这肯定会帮助你解决问题。
- Javascript倒计时计时器倒计时未正确更新秒/分钟
- 表单文本框未自动更新
- 在for循环中未正确更新React本机密钥
- Firebase 数据未正确更新
- 引导复选框-x 选中时未正确更新 DOM - 如何验证表单
- 角度指令:当选择更改时,ng 模型未正确更新
- 成功回调中的外部变量未正确更新
- Heroku Ruby on Rails应用程序don't更新公共/资产目录中的未消化资产
- d3堆叠条形图未正确更新
- 自定义选择框-选择选项时占位符中的数据图标未正确更新
- 数据未正确更新,挖空.js
- 角度绑定未正确更新
- 状态未立即更新时的 ReactJS 表单验证
- jQuery + PHP HighChart未正确更新
- KNockoutJS 与 jQuery 数据表,绑定行未正确更新
- 引用错误: 未定义更新滑块边距
- Jquery 输入值未正确更新
- 节点.JS全局变量未保持更新
- ng 样式未动态更新
- 选择的jquery插件未使用