2014-05-23 2 views
1

레일 4.1 응용 프로그램을 개발하고 있어요. Ckeditor (https://github.com/galetahub/ckeditor)을 사용하고 app/assets/ckeditor/plugins 디렉토리에 저장된 일부 extraplugin (위젯을 사용하는 image2)을 사용하고 있습니다. 나는 f.cktext_area :extraPlugins => 'image2'과 함께 사용했다. 그것은 잘 개발 및 생산 환경에서 작동합니다. 레일 ckeditor extraplugin 생산에 문제가

지금 나는 (응용 프로그램/자산/ckeditor/플러그인에 저장 :extraPlugins => 'image2,syntaxhighlight'와 라고도 함) 하나 더 추가 플러그인 (syntaxhighlight), 저장과 같은 방식으로 사용 를 추가하기로 결정했다. 개발 환경에서 완벽하게 작동하지만, 그것의 해시 된 버전이 아닌로드하려고하기 때문에 생산에 ckeditor는 syntaxhighlight 플러그인을로드 할 수 없습니다 :

캐치되지 않는 예외 : [CKEDITOR.resourceManager.load] 자원 이름 "을 syntaxhighlight " 에서 찾을 수 없습니다"는 플러그인 의 해시 버전 (/ 자산/ckeditor를/생성, rake assets:precompile "여러 번"

내가 실행 "/assets/ckeditor/plugins/syntaxhighlight/plugin.js 플러그인/구문 ighlight/plugin-a9ce9661bf06ef29e7ac40baac50c044.js). 그러나 작동중인 다른 (이전) 추가 플러그 인 중 누구도 public 디렉토리에 plugin.js가없고 작동합니다.

새로운 플러그인을 만드는 방법에 대해 알고 싶습니다.

답변

5

나는 동일한 문제가있었습니다. 이를 해결하려면

assets:precompile을 다시 실행하십시오.

ckeditor gem은 매핑 파일 (override.js)을 생성하고 js 파일의 단순 버전과 해시 된 버전을 매핑합니다. 새 extraplugin을 삽입하면 assets:precompile으로 다시 생성되지 않으므로 강제로 캐시를 지워야합니다.

관련 문제