TinyMCE gem在我的rails 3应用程序中无效

时间:2013-03-05 13:29:39

标签: ruby-on-rails ruby ruby-on-rails-3.2 tinymce

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

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

1 个答案:

答案 0 :(得分:0)

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

模板文件:

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

样式修复(预定义样式): 配置/ 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

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