2012-07-17 15 views
5

Używam Rails 3.2.3 i gdy TinyMCE ładunki w produkcji, mam cztery błędy 404:nie można zmienić DocumentBaseUrl w TinyMCE

"NetworkError: 404 Not Found - http://[my-domain]/[current-path]//langs/en.js" 
"NetworkError: 404 Not Found - http://[my-domain]/[current-path]//plugins/fullscreen/editor_plugin.js" 
"NetworkError: 404 Not Found - http://[my-domain]/[current-path]//themes/advanced/editor_template.js" 
"NetworkError: 404 Not Found - http://[my-domain]/[current-path]//plugins/media/editor_plugin.js" 

Może te pliki są nazywane asynchronicznie z tiny_mce.js ponieważ nie są wymienione w moim źródle. Kim JS wygląda następująco:

tinyMCE.init({ 
    theme: "advanced", 
    mode: "textareas", 
    plugins: "fullscreen, media", 
    height: 300, 
    relative_urls :true, 
    theme_advanced_toolbar_location : "top", 
    theme_advanced_toolbar_align : "left", 
    theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,search,replace,|,bullist,numlist,|,outdent,indent,|undo,redo,|,link,unlink,anchor,image,cleanup,code,|,insertdate,inserttime,preview,hr,removeformat,visualaid,|,sub,sup,|,fullscreen,spellchecker", 
    theme_advanced_buttons2 : "styleselect,formatselect,imageListBox,media", 
    theme_advanced_buttons3 : "", 
    editor_selector : "mceEditor", 
    extended_valid_elements : "form[action|accept|accept-charset|enctype|method|name|onsubmit|id|name]", 
    convert_urls : false, 
    remove_script_host : false 
}); 

function toggleTinyMCE(id) { 
    if (!tinyMCE.get(id)) 
     tinyMCE.execCommand('mceAddControl', false, id); 
    else 
     tinyMCE.execCommand('mceRemoveControl', false, id); 
} 

Wszystkie moje pliki TinyMCE są w reż app/assets/JavaSkrypty/tiny_mce, więc próbowałem dodając document_base_url i base_url do moich startowych params, ale bez względu na to, co je ustawić , kiedy sprawdzam TinyMCE w firebugu, widzę, że ich wartości nie zmieniają się w to, co wprowadziłem.

Zdaję sobie sprawę, że Rails plugin przez Kete istnieje dla TinyMCE, ale its README stwierdza, że ​​nie jest to zalecane dla Rails> = 3,1

+0

Odpowiedź na to pytanie pomogło: http: // stackoverflow. com/questions/7325364/tinymce-loading-lang-plugins-theme-from-incorrect-directory –

Odpowiedz

0

nie jestem pewien, czy to pomoże, ale można nadać mu próbować. Oto sekcja dotycząca względnych i bezwzględnych adresów URL z tinymce FAQ: http://www.tinymce.com/wiki.php/TinyMCE_FAQ#Paths.2FURLs_are_incorrect.2C_I_want_absolute.2Frelative_URLs.3F

+0

Dzięki. Przejrzałem stronę i bawiłem się opisanymi przeze mnie paramami, ale nie widziałem niczego, co mogłoby coś zmienić i nadal nie mogłem zmienić "documentBaseURL". – JellicleCat

+0

sry, tak naprawdę nie mam żadnych innych pomysłów – Thariama

0

Nie musisz zmieniać document_base_url. Możesz dodać tinymce bezpośrednio do strony.

<script type="text/javascript" src="/assets/vendor/tiny_mce/tiny_mce.js"></script> 

I make shure cały plik z TinyMCE jest zgodne z PipLine aktywów poprzez dodanie do config/environment.rb

config.assets.precompile << 'vendor/tiny_mce/*' 
+0

Moim problemem nie jest to, że 'tiny_mce.js' nie ładuje się lub że pliki pomocnicze nie istnieją, ale to tinymce szuka plików wsparcia w niewłaściwym miejscu. "tiny_mce.js" już ładuje się poprawnie na stronie; w przeciwnym razie przeglądarka nigdy nie próbowałaby załadować plików wsparcia dla tinymów wymienionych powyżej. Dodanie go (ponownie) do przodu tak, jak sugerujesz, nie ma znaczenia. Co więcej, jest już w potoku aktywów (w "app/assets/javascripts"), a umieszczenie go w innym miejscu, a następnie ręczne dodanie go do potoku aktywów również nie robi różnicy. – JellicleCat

Powiązane problemy