0

水星编辑器

我已经排除mercury.jsapplication.js更改和移动require_tree .到名为inside的子文件夹。require_directory .mercury.jsmercuryassets/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')

是子文件夹的东西吗?

4

1 回答 1

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”之外的任何其他名称,它将起作用。

除非您确定水星可以找到必要的库,否则我不会尝试更改路线。

于 2013-01-29T14:23:33.803 回答