javascript - TinyMCE 编辑器未初始化

标签 javascript ruby-on-rails

我正在 Ruby on Rails 中构建一个简单的 CMS,我决定使用带有语法突出显示的 WYSIWYG 编辑器,所以我选择了 TinyMCE。不过,在尝试使用它时,我遇到了几个问题:

第一问题是我在尝试使用 CMS 运行测试博客时遇到错误。首先我包括

s.add_dependency "tinymce-rails"

进入mycms.gemspec并运行

$ bundle install

然后我添加

//= require tinymce 

插入我的 CMS 中的 application.js 中。但是,当我将 CMS 插件(作为单独的 gem 提供)纳入我的测试博客时,由于错误,我无法访问我的管理面板 - Rails 无法找到 tinymce 并且我需要将 gem tinymce-rails 也包含在我的测试应用程序的 Gemfile 中以使其正常工作。 (我在 gem bootstrap-sass 上也遇到了同样的问题——只有在将其包含到应用程序的 Gemfile 中后它才起作用,尽管它存在于 mycms.gemspec

第二个问题是编辑器本身没有初始化并且没有显示在我的页面中。因此,表单本身如下:

<%= form_for (@entry, as: :entry, url: entries_path) do |f| %>
  <p>
    <%= f.label :title %> <br/>
    <%= f.text_field :title %>
  </p>
  <% @entry.class.content_attributes.each do |attr_name, attr_type| %>
    <p>
      <%= f.label :title %><br />
      <%= f.text_area attr_name, as: attr_type, class:"tinymce", rows:"40", cols:"120" %>
    </p>
  <% end %>
<% end %>
<%= tinymce %>

并且文本区域丢失了。我尝试了所有变体——包括

//= require tinymce

//= require tinymce-jquery

都进入测试应用的 application.js 或 CMS 的 application.js,以及添加

<%= tinymce_assets %>

直接在表单的开头,但这些变体都不起作用。我错过了什么或做错了什么?

我的 CMS 的完整代码可以在 Github 上找到。

最佳答案

如果您尚未添加此 JavaScript 代码,请尝试添加此代码:

$(document).ready(function() {
  return tinymce.init({
    selector: 'textarea',
    height: 100,
    width: 550,
    menubar: false,
    plugins: ['image', 'charmap', 'uploadimage'],
    toolbar: 'insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link uploadimage | charmap ',
    theme: 'modern',
    relative_urls: false,
    remove_script_host: false,
    document_base_url: (!window.location.origin ? window.location.protocol + '//' + window.location.host : window.location.origin) + '/',
    setup: function(ed) {
      ed.on('init', function() {
        ed.getDoc().body.style.fontSize = '14px';
      });
      ed.on('change', function() {
        ed.save();
      });
    }
  });
});

关于javascript - TinyMCE 编辑器未初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38098683/

相关文章:

javascript - 触发下拉列表的点击事件

javascript - 查找 bool 值 JavaScript 对象数组的总和

ruby-on-rails - 推送到 Heroku 时无法从远程存储库读取(Rails 教程 5)

ruby-on-rails - Searchkick/Elasticsearch-根映射定义具有不受支持的参数

javascript - 使用 Javascript 上传到 Rails Active Storage

sql - rails 5 : Query which excludes results if they're associated with a specific record

javascript - css: <img> 给定坐标 x,y 位于另一个图像顶部的位置(使用 jquery)

javascript - Highcharts 堆叠条形图边框不显示在右侧

javascript - Android Chrome 和 Intent 检测

ruby-on-rails - 如何将大于 5GB 的文件上传到 Amazon S3?