1
votes

I'm developing a Rails 4.1 application. I use ckeditor (https://github.com/galetahub/ckeditor), and I'm using some extraplugin (image2, which also uses widget), stored in app/assets/ckeditor/plugins directory. I used it with f.cktext_area :extraPlugins => 'image2'. It works well in development and also in production environment.

Now I decided to add one more extra plugin (syntaxhighlight), stored and used in the same way (stored in app/assets/ckeditor/plugins , called with :extraPlugins => 'image2,syntaxhighlight'). In development environment it works perfectly, but in production ckeditor cannot load syntaxhighlight plugin, because it try to load not the hashed version of it:

uncaught exception: [CKEDITOR.resourceManager.load] Resource name "syntaxhighlight" was not found at "/assets/ckeditor/plugins/syntaxhighlight/plugin.js"

I run "rake assets:precompile" many times, it generated the hashed version of plugins (/assets/ckeditor/plugins/syntaxhighlight/plugin-a9ce9661bf06ef29e7ac40baac50c044.js). But none of the working other (old) extraplugins do not have simple plugin.js in the public directory, and they work.

Any idea how to make work this new extra plugin?

1

1 Answers

5
votes

I had the same problem. To solve this, run:

rake tmp:cache:clear

and after assets:precompile again.

Just to understand what happened: ckeditor gem generate a mapping file (override.js), and it maps the simple and the hashed version of js files. If you insert a new extraplugin, it will not regenerated with assets:precompile, you have to clear the cache to force it.