使tinyMCE和Garlic.js协同工作

时间:2017-01-11 10:57:22

标签: javascript jquery ruby-on-rails tinymce

我正在尝试让Garlic.js和tinyMCE在我的Rails应用程序中一起工作但没有成功。我在我的资产管道中集成了Garlic,而对于tinyMCE,我使用的是tinymce-rails gem。

两者分别很好,但当我把它们放在一起时,大蒜停止工作。

我最近尝试了在Garlic的github存储库https://github.com/guillaumepotier/Garlic.js/issues/87中发布的micschk的潜在解决方案,该解决方案涉及使用以下代码初始化tinymce:

views / layouts / application.html(在head标记内的脚本之后)

<script>
  tinyMCE.init({
    selector: 'textarea.tinymce',
    setup : function(editor) {
      editor.on("change keyup", function(e){
        console.log('saving');
        tinyMCE.triggerSave(); // updates all instances
        // editor.save(); // updates this instance's textarea
        $(editor.getElement()).trigger('change'); // for garlic to detect change
      });
    }
  });
</script>

代码确实初始化了tinymce并在'setup'之后运行代码,但它似乎并没有让Garlic工作。

以下是我的观看代码

    <%= simple_form_for(@open_ender, remote: true, html: {"data-persist" => 'garlic', id:'open_ender_form' }) do |f| %>
    <%= f.error_notification %>
        <div class="form-inputs">
            <%= f.input :answer_id, :required => true, :as => :hidden, :autofocus => true, input_html: {value: @answer.id } %>
            <%= f.input :content, :input_html => { :class => 'tinymce' }, :label => false, :required => true, :autofocus => true %>
            <%= button_tag(type: 'submit', id: "save-btn", style:'background:transparent' ) do %>
                <i class="fa fa-floppy-o" aria-hidden="true" title="save"; data-toggle="tooltip"; data-placement="right"></i>
            <% end %>
        </div>
    <% end %>

如果有人能指出我正确的解决方案,我真的很感激。

1 个答案:

答案 0 :(得分:0)

我最终决定使用tinyMCE自动保存插件而不是使用Garlic.js,尽管功能不完全相同,它的目的是保护用户免于丢失数据。

https://www.tinymce.com/docs/plugins/autosave/