2

我试图让 tiny_mce 与我的 Rails 3.1 应用程序一起工作,它几乎可以工作。

我将它安装在 vendor/assets/tiny_mce 并包含在我的 application.js 引导程序中:

应用程序.js

//= require jquery
//= require jquery_ujs
//= require_tree .
//= require tiny_mce

tinyMCE.init({
    mode : "specific_textareas",
    editor_selector : "mce_editor"
});

现在,当我使用 ?debug_assets=true 查看我的页面时,它不会将文件与 sprocket 结合起来,并且一切都按预期工作。但是,如果我摆脱 ?debug_assets=true 那么它不再起作用。

似乎 TinyMce 在需要时会自动加载一些额外的 js 文件(lang 文件等),但这似乎不适用于 rails 3.1。任何想法如何解决这一问题?

感谢您的建议,我检查了请求日志,所需文件为:

ActionController::RoutingError (No route matches [GET] "/home_pages/4/langs/en.js"):

and 

ActionController::RoutingError (No route matches [GET] "/home_pages/4/themes/simple/editor_template.js"):

tiny_mce 中有几十个不同的 js 文件,我假设它会根据您初始化它的配置加载不同的集合。我是否应该一次手动地将这些额外的 js 文件添加到我的 application.js 文件中,直到 rails 停止抱怨,或者是否有更通用或最佳实践的解决方案?谢谢

4

1 回答 1

1

Install the tinymce-rails gem - it's worked well for me in the past. Delete the tiny_mce folder from your assets/javascripts folder.

Change your manifest to this:

//= require jquery
//= require jquery_ujs
//= require tinymce
//= require_tree .

and it's better to move this to main.js

tinyMCE.init({
    mode : "specific_textareas",
    editor_selector : "mce_editor"
});
于 2011-09-23T11:57:51.860 回答