1. 下载 fckeditor_plugin-0.5.1.zip ,目前版本为0.5.1
2. 解压到vendor\plugins目录下,并重命名为fckeditor
3. 到该应用程序根目录下,运行rake fckeditor:install,执行自动安装
4. 在相应的layout(以./layouts/company.html.erb为例)中添加
<%= javascript_include_tag :fckeditor %>
5. 将修改视图中的相应textarea字段:(./views/companies/edit.haml或者 new.haml )
%td{:width=>"210",:align=>"left",:valign=>"middle",}
="公司简介:"
%td{:align=>"left",:valign=>"middle"}
= fckeditor_textarea ( "company","introduction", :toolbarSet => 'Simple',
:width =>'90%', :height => '320px' )
第一个参数 company 为 model对象, introduction 为数据库字段,其他顾名思义。
6. 然后运行你的页面程序,发现simple upload有点bug,上传后javascript报错,故需要修改.\vendor\plugins\fckeditor\app\controllers\ fckeditor_controller.rb 文件, 共需修改两处:
①、找到代码:
render :text => %Q'
<script>
if (window.parent.frames[\'frmUpload\']) {
window.parent.frames[\'frmUpload\'].OnUploadCompleted(#{@errorNumber});
}
</script>'
并将其修改为以下内容:
render :text => %Q'
<script>
if (window.parent.frames[\'frmUpload\']) {
window.parent.OnUploadCompleted( #{@errorNumber},
\"#{UPLOADED}/#{params[:Type]}\",\"#{@new_file.original_filename}\",\"\");
}
</script>'
②、找到代码( 针对rails2.2 ):
def upload_directory_path
uploaded = request . relative_url_root.to_s+"#{UPLOADED}/#{params[:Type]}"
end
并将其中的 request 替换成 ActionController::Base
7. ( 针对rails2.2 ) 接着修改 .\vendor\plugins\fckeditor\ lib\ fckeditor.rb 文件,
找到代码: js_path = "#{request.relative_url_root}/javascripts" 同样,将其中的 request 替换成 ActionController::Base
8. OK,一个完美的fckeditor,已经呈现在你的视图中了。
PS: 我们知道,用fckeditor,存到数据库里的数据将会是带有html标签的如:
<p><span style="color: #ff0000"><strong>无敌好东东,大家快来购 先到的先得,后到的错过 高性价比的好东西,不买是你们最大的损失啊。所以都快来选购,如有大量购买者,价钱还有更大的优惠,希望有意者尽快与我们取得联系。</strong></span></p>
那么你在取该数据时有时就需要去除html标签 。
参考资料:
<!-- EndFragment-->
http://www.blogjava.net/rocky/archive/2006/11/04/rails-fckeditor-integration.html
http://rails.blog.51cto.com/424292/119543
下面的blog,有Fckeditor更复杂的应用说明:
http://hi.baidu.com/magiclin/blog/item/eec9ded9621aa7ed39012f71.html
<!-- EndFragment-->