首页 文章

Rails ckeditor extraplugin 生产环境 问题

提问于
浏览
1

我正在开发一个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 回答

  • 5

    我有同样的问题 . 要解决此问题,请运行:

    rake tmp:cache:clear
    

    再次_1661102之后 .

    只是为了理解发生了什么:ckeditor gem生成一个映射文件(override.js),它映射了简单和散列版本的js文件 . 如果插入新的extraplugin,它将不会使用 assets:precompile 重新生成,您必须清除缓存以强制它 .

相关问题