2012-07-17 7 views
5

Ich bin mit Rails 3.2.3 ändern, und wenn TinyMCE Lasten in der Produktion, bekomme ich vier 404s:Kann nicht DocumentBaseUrl in 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" 

Vielleicht diese Dateien asynchron von tiny_mce.js weil sie genannt werden Bin nicht in meiner Quelle aufgeführt. Meine js sieht wie folgt aus:

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); 
} 

Alle meine TinyMCE-Dateien sind im Verzeichnis app/assets/Javascripts/tiny_mce, so habe ich versucht, document_base_url und base_url meiner init params Zugabe, aber egal, was ich ihnen gesetzt , wenn ich TinyMCE in Firebug inspiziere, sehe ich, dass sich ihre Werte nicht zu dem ändern, was ich eingegeben habe.

Ich bin mir bewusst, dass ein Rails-Plugin von kete für tinyMCE existiert, aber its README heißt es, dass es nicht für Rails empfohlen> = 3,1

+0

Die Antwort auf diese Frage sehr geholfen: http: // Stackoverflow. com/questions/7325364/tinymce-loading-lang-plugins-theme-von-falsch-verzeichnis –

Antwort

0

Ich bin nicht sicher, ob dies wird Ihnen helfen, aber man kann es geben ein Versuchen. Hier ist der Abschnitt über relative und absolute URLs des tinymce FAQ: http://www.tinymce.com/wiki.php/TinyMCE_FAQ#Paths.2FURLs_are_incorrect.2C_I_want_absolute.2Frelative_URLs.3F

+0

Danke. Ich habe die Seite untersucht und mit den von ihnen beschriebenen Parametern herumgespielt, aber ich habe nichts gesehen, was einen Unterschied machen könnte, und ich konnte "documentBaseURL" noch immer nicht ändern. – JellicleCat

+0

sry, eigentlich habe ich keine anderen Ideen – Thariama

0

Sie müssen document_base_url nicht ändern. Sie können tinymce direkt zur Seite hinzufügen.

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

Und die make shure ganze Datei von tinymce wird, indem zu config Vermögen pipline erfüllt/application.rb

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

Mein Problem ist nicht, dass 'tiny_mce.js' nicht lädt oder dass die Support-Dateien nicht existieren, aber dass tinymce nach den Support-Dateien am falschen Ort sucht. 'tiny_mce.js' wird bereits korrekt auf der Seite geladen; Andernfalls würde der Browser niemals versuchen, die oben erwähnten ynymce-Unterstützungsdateien zu laden. Es ist also gleichgültig, wie Sie es (wieder) zum Frontend hinzufügen. Darüber hinaus ist es bereits in der Asset-Pipeline (unter "app/assets/javascripts") vorhanden und wird an einer anderen Stelle platziert, sodass es dann keinen Unterschied mehr macht, es manuell zur Asset-Pipeline hinzuzufügen. – JellicleCat