我正在尝试在我的 rail 3 应用程序中使用 tinyMCE gem。我看不到编辑器上的所有选项,就像我看不到一样 - 1.样式(选项可见但不能下拉)2.无法插入图像(浏览图像的按钮在选择窗口上不可见)3.我看不到表格、放大屏幕、字体类型等的任何其他选项。
如果有人有任何解决方案,请帮助我。谢谢你。
我正在尝试在我的 rail 3 应用程序中使用 tinyMCE gem。我看不到编辑器上的所有选项,就像我看不到一样 - 1.样式(选项可见但不能下拉)2.无法插入图像(浏览图像的按钮在选择窗口上不可见)3.我看不到表格、放大屏幕、字体类型等的任何其他选项。
如果有人有任何解决方案,请帮助我。谢谢你。
使用此配置,一切正常。如果您有其他语言,请确保您的资产存储库中有此语言。如果您不小心抛出异常并打破使用按钮创建表格。
模板文件:
<%= 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 一起使用。