-1

我正在尝试在我的 rail 3 应用程序中使用 tinyMCE gem。我看不到编辑器上的所有选项,就像我看不到一样 - 1.样式(选项可见但不能下拉)2.无法插入图像(浏览图像的按钮在选择窗口上不可见)3.我看不到表格、放大屏幕、字体类型等的任何其他选项。

如果有人有任何解决方案,请帮助我。谢谢你。

4

1 回答 1

0

使用此配置,一切正常。如果您有其他语言,请确保您的资产存储库中有此语言。如果您不小心抛出异常并打破使用按钮创建表格。

模板文件:

<%= text_area_tag :editor, "", :class => "tinymce", :rows => 40, :cols => 120 %>
<input type="file" id="image_uploader" style="display:none;opacity:0;" />
<%= tinymce %>

样式修复(预定义样式):config/tinymce.yml

theme_advanced_toolbar_location: top
theme_advanced_toolbar_align: left
theme_advanced_statusbar_location: bottom
theme_advanced_buttons3_add:
  - tablecontrols
  - fullscreen
plugins:
  - table
  - fullscreen
style_formats:
  - title: 'Bold text'
    inline: 'b'
  - title: 'Red text'
    inline: 'span'
    styles:
      color : '#ff0000'
file_browser_callback: 'file_upload'

Javascript(您的资产中的文件):

(function(){
// encapsulating
  var iu = document.getElementById('image_uploader');
  iu.addEventListener('change',send_after_choose);

  function send_after_choose(event){
    // some multipart ajax U need to create new FormData see documentation of use
    // when done fetch url
  }
  // this need to be global function.
  function file_upload(field_name, url, type, win){
    var iu = document.getElementById('image_uploader');
    iu.click();
  }
  window.file_upload=file_upload;
})();

没有更多信息:http ://www.tinymce.com/wiki.php/How-to_implement_a_custom_file_browser

抱歉,但这是要编写的代码的很大一部分,而且我没有工作示例,因此您必须自己编写。但添加此代码后,U 将能够在您的图像弹出窗口中看到文件按钮,他将调用您编写的函数。

我不知道你使用哪个框架,所以我写了一些简单的 vanila javascript。更改事件适用于文件输入。输入可以是不可见的,只要他没有名字,你可以随时添加。

数据对象文档: https ://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest/FormData/Using_FormData_Objects

如果 U 使用 jQuery U 可以添加 FormData 对象作为请求数据。我不知道这如何与 Mootools 或 Prototype 一起使用。

于 2013-03-08T10:21:19.983 回答