FCKEitor
和Ruby On Rails的整合 (一)
基本的安装:
(1)
、访问
http://www.fckeditor.net并下载FCKEitor的最新版本,解压下载的压缩包。将如下的文件夹和文件,拷贝到你的Rails工程的public/javascripts文件夹中。
/editor/
fckconfig.js
fckeditor.js
fckstyles.xml
fcktemplates.xml
|
(2)
、现在我们需要修改一些默认的配置设置,用你喜欢的文本编辑器打开’fckeditor.js’,设置默认的路径为”/javascripts/”。如下图:
完成后,你可以准备将FCKEditor插入你视图中了。
(3)
、打开你需要的视图,并添加基本的JS文件的引用如下:
<%=javascript_include_tag “fckeditor”%>
|
该行内容应该添入到</head>HTML标签之前。
编辑器要替换已存在的文本域(Text Area),因此我需要创建一个文本域。
<textarea id=”MyTextarea” name=”MyTextarea” >This is<b>the</b> intial value.</textarea>
|
最后我们需要写JS代码去替换文本域:
<script type=”text/javascript”>
window.οnlοad=function()
{
var oFCKEditor=new FCKEditor(‘MyTextarea’);
oFCKEditor.ReplaceTextarea();
}
</script>
|
完成之后,我们可以打开页面并浏览到新的编辑器了。
该rhtml文件的原码如下:
<html> <head> <title>test</title> <%= javascript_include_tag "fckeditor" %> <script type="text/javascript"> window.onload = function() { var oFCKeditor = new FCKeditor( 'MyTextarea' ) ; oFCKeditor.ReplaceTextarea() ; } </script> </head> <body> <form action="/default/save" method="POST"> <textarea id="MyTextarea" name="MyTextarea">This is <b>the</b> initial value.</textarea> <input type="submit" value="Update"> </form> </body> </html> |
该编辑器可视为一个表单域,并能工作了。
你可以在’fckconfig.js’文件中设置FCKEditor的绝大多数的基本配置。有时你可能想改变默认的工具栏、编辑器的高度和宽度和有用的样式。
高级的实现:
我们可以创建应用帮助方法来更简单的实现,最后我们只需这样做:
<%= fckeditor_text_area %>
|
开始我们要打开项目的
application_helper.rb(
全局模块
)文件,只需加上一下的方法:
说明:
text_area(object,method,option={})
用于生成
textarea
标签,
javascript_tag()
用于生成
JS
代码
这个方法将告诉
Rails
框架去创建
Textarea
标签,并发送
JS
用
FCKEditor
替换
Textarea
。采用这种方式使得在
AJAX
调用中使用这个方法成为可能,并且不会干扰你现有的其他的
”body.onload”
JavaScript
函数。这个方法可以在Firefox 和IE浏览器中正常运作,虽然我还没在其他的浏览器中测试过。
(
待续)
备注:对原文的重点部分进行了翻译,有不妥之处望大家指正!谢谢!
原文参考网址: http://www.joshuamcharles.com/xhtml/fckrails.php