Rails资产管道导致问题

时间:2011-07-31 15:30:27

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 asset-pipeline

我正在尝试使用tiny_mce来使用我的Rails 3.1应用程序,它几乎可以工作。

我把它安装在vendor / assets / tiny_mce中并包含在我的application.js bootstrap中:

的application.js

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

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

现在,当我使用?debug_assets = true查看我的页面时,它不会将文件与sprockets组合在一起,一切都按预期工作。但是,如果我摆脱了?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停止抱怨或是否有更通用或最佳实践解决方案?谢谢

1 个答案:

答案 0 :(得分:1)

Install tinymce-rails宝石 - 它在过去对我有用。从assets / javascripts文件夹中删除tiny_mce文件夹。

将您的清单更改为:

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

最好将其移至main.js

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