Mercury WYSIWYG Editor不适用于assets的子文件夹

时间:2013-01-09 23:42:37

标签: ruby-on-rails-3 wysiwyg asset-pipeline mercury-editor

Mercury Editor

我已将mercury.js application.jsrequire_tree .更改为require_directory .并将mercury.js移至mercuryassets/javascripts的子文件夹中layouts/mercury.html.erb }。

所以我的应用程序上的其他所有内容都运行良好,并且没有加载任何汞。

现在 <%= stylesheet_link_tag 'mercury/mercury' %> <%= javascript_include_tag 'jquery-1.7', 'mercury/mercury' %>

    <script type="text/javascript">
          // Set to the url that you want to save any given page to, leave null for default handling.
          var saveUrl = null;

          // Instantiate the PageEditor
          new Mercury.PageEditor(saveUrl, {
            saveStyle:  'form', // 'form', or 'json' (default json)
            saveMethod: null, // 'PUT', or 'POST', (create, vs. update -- default PUT)
            visible:    true  // boolean - if the interface should start visible or not
          });
</script>

TypeError: 'undefined' is not a constructor (evaluating 'new Mercury.PageEditor')

但是当编辑器加载时我得到了这个错误:

{{1}}

是子文件夹的东西吗?

1 个答案:

答案 0 :(得分:1)

我很确定这是因为汞库占据了“汞”路径。

如果你耙路线,你会看到这个

Routes for Mercury::Engine:
mercury_editor  /editor(/*requested_uri)(.:format)        mercury#edit
                /mercury/:type/:resource(.:format)        mercury#resource
                /mercury/snippets/:name/options(.:format) mercury#snippet_options
                /mercury/snippets/:name/preview(.:format) mercury#snippet_preview

这有点令人困惑,因为您在请求yourhost时获得的文件://assets/mercury/mercury.js是水银库文件。如果您将文件夹命名为“mercury_assets”,或者除了'mercury'之外的其他任何内容,它都会起作用。

除非你确定汞可以找到必要的库,否则我不会试图改变路线。