2012-07-17 32 views
5

Tôi sử dụng Rails 3.2.3, và khi TinyMCE tải trong sản xuất, tôi nhận được bốn 404s:Không thể thay đổi DocumentBaseUrl trong 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" 

Có lẽ những tập tin này được gọi là không đồng bộ từ tiny_mce.js vì họ không được liệt kê trong nguồn của tôi. js của tôi trông như thế này:

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

Tất cả các tập tin TinyMCE của tôi là trong ứng dụng dir/tài sản/Javascripts/tiny_mce, vì vậy tôi đã cố gắng thêm document_base_urlbase_url để init params của tôi, nhưng không có vấn đề gì tôi đặt chúng , khi tôi kiểm tra TinyMCE trong firebug, tôi thấy rằng giá trị của chúng không thay đổi theo những gì tôi đã nhập.

Tôi biết rằng một plugin Rails bởi kete tồn tại cho TinyMCE, nhưng its README khẳng định rằng nó không được khuyến khích cho Rails> = 3.1

+0

Câu trả lời về câu hỏi này đã giúp rất nhiều: http: // stackoverflow. com/questions/7325364/tinymce-loading-lang-plugins-chủ đề-từ-không chính xác-thư mục –

Trả lời

0

Tôi không chắc chắn nếu điều này sẽ giúp bạn, nhưng bạn có thể cho nó một thử. Dưới đây là phần về url tương đối và tuyệt đối của câu hỏi thường gặp về tin nhắn: http://www.tinymce.com/wiki.php/TinyMCE_FAQ#Paths.2FURLs_are_incorrect.2C_I_want_absolute.2Frelative_URLs.3F

+0

Cảm ơn. Tôi kiểm tra trang và chơi xung quanh với các params họ mô tả, nhưng tôi không thấy bất cứ điều gì mà nên tạo sự khác biệt, và tôi vẫn không thể thay đổi 'documentBaseURL'. – JellicleCat

+0

sry, thực sự tôi không có bất kỳ ý tưởng nào khác – Thariama

0

Bạn không cần thay đổi document_base_url. Bạn có thể thêm tinymce trực tiếp vào trang.

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

Và làm shure tất cả các tập tin từ TinyMCE được tuân tài sản pipline bằng cách thêm vào config/application.rb

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

Vấn đề của tôi không phải là 'tiny_mce.js' không tải hoặc tệp hỗ trợ không tồn tại nhưng tinymce đó đang tìm kiếm tệp hỗ trợ ở sai vị trí. 'tiny_mce.js' đang tải chính xác trên trang; nếu không, trình duyệt sẽ không bao giờ cố gắng tải các tệp hỗ trợ tinymce mà tôi đã đề cập ở trên. Vì vậy, thêm nó (một lần nữa) để kết thúc trước khi bạn đề nghị làm cho không có sự khác biệt. Hơn nữa, nó đã có trong đường ống nội dung (trong 'ứng dụng/tài sản/javascripts'), và đặt nó ở nơi khác, sau đó thêm thủ công vào đường dẫn nội dung cũng không có sự khác biệt. – JellicleCat

Các vấn đề liên quan