bri*_*ker 14 ruby-on-rails ckeditor ruby-on-rails-3.1 asset-pipeline
我是资产管道的新手,刚刚从Rails 3.0迁移过来.我正在努力让CKEditor进入管道,但是它的所有宝石都不清楚它们是如何工作的,并且很少或没有使用说明.
我更愿意在不使用gem的情况下执行此操作,因为我似乎只需要将源文件放入vendor/assets目录然后将其包含在内application.js.我已经尝试过,但是,当我预编译并推向生产时,似乎没有找到某些文件(editor.css例如),并且编辑器根本没有显示(只是空白区域).
的application.js
//= require jquery
//= require jquery_ujs
//= require ckeditor/ckeditor
//= require_self
Run Code Online (Sandbox Code Playgroud)
这是源文件vendor/assets/javascript/ckeditor/,并指向ckeditor.js.我只是不确定从哪里开始.此代码在开发中工作正常,但在生产中不起作用.我rake assets:precompile在添加并提交git之前运行,然后推送到heroku.
kel*_*smj 28
我得到了这个工作(部署在Heroku上),通过:
config.assets.precompile += ['ckeditor/*']到我的production.rbvar CKEDITOR_BASEPATH = '/assets/ckeditor/';之前,在application.html.erb中设置ckeditor基本路径//= require ckeditor/ckeditorsup*_*ary 10
咬紧牙关并使用宝石.这里有两个选择:
https://github.com/galetahub/ckeditor.
它作为引擎运行,并在资产中包含自己的可安装CKEditor.它还公开了可以添加到资产路径的Ckeditor.assets.这引用了CKEditor所需的所有图像,插件,语言文件和各种垃圾.
它有处理图像上传的功能,它还可以很好地与ActiveAdmin集成.
https://github.com/tsechingho/ckeditor-rails
这样做的更少,您将其包含在资产管道中,并为您完成剩下的工作.适用于所有基本用例,简单而且充足.
我在实时项目中使用了这两个,并且都做了这个工作.如果您打算使用ActiveAdmin并且想要平稳骑行,请使用前者.如果您愿意,请使用后者.
CKEditor非常难看.保持它的长度,然后当你需要升级时,你可以换掉另一个.
如果您使用的是Rails 3.1.0,则应升级到3.1.1.在此版本中,预编译rake任务将资产编译为原始文件名和消化文件名.这是第三方代码,管道感知不会仍然有效.
您需要将ckeditor目录及其所有子目录添加到预编译数组中,以便预编译任务知道编译它们.
config.assets.precompile += your_files
your_files可以是一个文件,正则表达式或过程的数组 - 无论是什么都需要捕获ckeditor文件的名称.我没有使用ckeditor来解决预编译需要进行的操作,所以如果你发布你想出的内容,其他人可能会很感激!
需要注意的一件事是,如果您为Web服务器上的/ assets目录设置了远期标头,则需要排除CKeditor目录.由于这些文件不会被指纹识别,因此当您更新CKeditor并且某些客户端未获取更新的代码时可能会出现问题,因为它们具有标记为仅在将来某个时间过期的缓存副本.
| 归档时间: |
|
| 查看次数: |
9079 次 |
| 最近记录: |