【问题标题】:Rails assets pipeline causing problemsRails 资产管道导致问题
【发布时间】:2011-07-31 15:30:26
【问题描述】:

我正在尝试让 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 停止抱怨或有更通用或最佳实践的解决方案?谢谢

【问题讨论】:

  • 您是否检查了请求日志以了解 TinyMCE 如何需要这些文件?它使用的是哪个 URL?

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


【解决方案1】:

Install tinymce-rails gem - 过去对我来说效果很好。从您的 assets/javascripts 文件夹中删除 tiny_mce 文件夹。

将您的清单更改为:

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

最好把它移到main.js

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

【讨论】:

    猜你喜欢
    • 2013-05-12
    • 1970-01-01
    • 1970-01-01
    • 2018-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多