2013-07-14 6 views
8

Używam CKEditor gem. Mój config dla application.js i routes.rb są jak poniższych:Problem klejnotów CKeditora w trybie produkcji

# application.js 
//= require ckeditor/init 

# routes.rb 
mount Ckeditor::Engine => '/ckeditor' 

Klejnot działa poprawnie w trybie rozwoju, ale po przejściu do trybu produkcyjnego, mam błąd 404 podczas przeglądarek zażądać JS i pliki CSS w folderze CKEditor :

GET http://mydomain/assets/ckeditor/config.js?t=D2LI 404 (Not Found) 
GET http://mydomain/assets/ckeditor/skins/moono/editor.css?t=D2LI 404 (Not Found) 
GET http://mydomain/assets/ckeditor/lang/vi.js?t=D2LI 404 (Not Found) 
GET http://mydomain/assets/ckeditor/styles.js?t=D2LI 404 (Not Found) 

Proszę mi pomóc naprawić moją konfigurację trasy cKeditor. Z góry dziękuję.

Odpowiedz

8

Musisz wyraźnie bezpośrednimi Szyny do precompile swoje aktywa CKEditor w produkcji:

# config/application.rb 
config.assets.precompile += Ckeditor.assets 

Następnie w swoim środowisku produkcyjnym wymusić prekompilację:

rake assets:precompile:all 
2

W moim przypadku było za pomocą Rails 4 i wdrażanie w Heroku. Zauważyłem, że najpierw muszę wstępnie skompilować zasoby lokalnie, a następnie zatwierdzić katalog /public/assets/ckeditor i wdrożyć. Pracowałem po tym, chociaż nie mam ochoty na takie rozwiązanie.

2

miałem pewne problemy z zaledwie plików lang nie znaleziono w Rails 5.

Musiałem to zrobić, aby działało ->Rails.application.config.assets.precompile += %w(ckeditor/* ckeditor/lang/*) w assets.rb.

Nie wiem, dlaczego pierwsza deklaracja zawiera nie tylko folder lang (działa dla folderów, wtyczek i folderów skórek). Bug może?

+1

możesz spróbować tego: Rails.application.config.assets.precompile + =% w (ckeditor/**/*) –