我正在开发一个Rails 4.1应用程序 . 我使用ckeditor(https://github.com/galetahub/ckeditor),我正在使用一些extraplugin(image2,它也使用widget),存储在app / assets / ckeditor / plugins目录中 . 我用它 f.cktext_area :extraPlugins => 'image2'
. 它在开发和 生产环境 环境中都很有效 .
现在我决定添加一个额外的插件(syntaxhighlight),以相同的方式存储和使用(存储在app / assets / ckeditor / plugins中,使用 :extraPlugins => 'image2,syntaxhighlight'
调用) . 在开发环境中它工作得很好,但在 生产环境 中ckeditor无法加载syntaxhighlight插件,因为它试图加载而不是它的散列版本:
未捕获的异常:[CKEDITOR.resourceManager.load]在“/assets/ckeditor/plugins/syntaxhighlight/plugin.js”中找不到资源名称“syntaxhighlight”
我多次运行“ rake assets:precompile
”,它生成了插件的哈希版本(/assets/ckeditor/plugins/syntaxhighlight/plugin-a9ce9661bf06ef29e7ac40baac50c044.js) . 但是其他(旧的)extraplugins都没有在公共目录中有简单的plugin.js,而且它们都有效 .
任何想法如何使这个新的额外插件工作?
1 回答
我有同样的问题 . 要解决此问题,请运行:
再次_1661102之后 .
只是为了理解发生了什么:ckeditor gem生成一个映射文件(override.js),它映射了简单和散列版本的js文件 . 如果插入新的extraplugin,它将不会使用
assets:precompile
重新生成,您必须清除缓存以强制它 .