Rails ckeditor extraplugin生产问题

时间:2014-05-23 11:54:22

标签: ruby-on-rails ckeditor

我正在开发一个Rails 4.1应用程序。我用ckeditor (https://github.com/galetahub/ckeditor),我正在使用一些额外的插件 (image2,也使用小部件),存储在app / assets / ckeditor / plugins中 目录。我用它f.cktext_area :extraPlugins => 'image2'。它 在开发和生产环境中都很有效。

现在我决定添加一个额外的插件(syntaxhighlight),存储和 以相同的方式使用(存储在app / assets / ckeditor / plugins中,称为 与:extraPlugins => 'image2,syntaxhighlight')。开发中 环境它完美的工作,但在生产ckeditor无法加载 syntaxhighlight插件,因为它试图加载而不是它的散列版本:

  

未捕获的异常:[CKEDITOR.resourceManager.load]资源名称   找不到“syntaxhighlight”   “/assets/ckeditor/plugins/syntaxhighlight/plugin.js”

我多次运行“rake assets:precompile”,它产生了哈希 插件版本 (/assets/ckeditor/plugins/syntaxhighlight/plugin-a9ce9661bf06ef29e7ac40baac50c044.js)。 但是,其他(旧的)额外插件都没有简单 plugin.js在公共目录中,它们可以工作。

任何想法如何使这个新的额外插件工作?

1 个答案:

答案 0 :(得分:5)

我遇到了同样的问题。要解决此问题,请运行:

rake tmp:cache:clear

再次assets:precompile之后。

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