我在heroku上有Ruby on Rails应用程序。
我们正在使用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)
当然我们正在使用消化资产
e.g。 application-d99ed24f47c5c39b96889148558cb16c.js
- 他们正在工作
除此之外,我使用非消化资产进行CKEditor,
我把它们放在RAILS_ROOT/public/assets
目录
因此/assets/ckeditor/config.js
应指向RAILS_ROOT/public/assets/ckeditor/config.js
问题
我无法更新public/assets
我从CKEditor更新了一个文件,但是当我:
时它没有显示更改我提交了更改,建立在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
中。
这是非消化资产:)
答案 0 :(得分:1)
Heroku不允许您将文件存储在其dyno中,您可能编辑的任何文件每15分钟重置一次。所以通过rm,cp,echo直接改变它就不会有诀窍。该文件必须由您的git分支跟踪。
我建议使用ckeditor gem,它可以很好地使用链轮(https://github.com/galetahub/ckeditor),这应该可以帮助你解决问题。