首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

rails-ckeditor 3.4.1和rails2.3.5使用异常解决方法

2012-12-21 
rails-ckeditor 3.4.1和rails2.3.5使用错误解决办法?在使用rails-ckeditor 3.4.1时出现错误,上传文件是fla

rails-ckeditor 3.4.1和rails2.3.5使用错误解决办法

?在使用rails-ckeditor 3.4.1时出现错误,上传文件是flash上传,文件上传成功,可以显示的预览图是错误的

必须刷新之后才能看到预览图,如下图:
rails-ckeditor 3.4.1和rails2.3.5使用异常解决方法

经过分析rails-ckeditor代码发现在\vendor\plugins\rails-ckeditor\app\controllers\ckeditor_controller.rb的52行有这样一段代码:

@text = params[:CKEditor].blank? ? @record.to_json(:only=>[:id, :type], :methods=>[:url, :content_type, :size, :filename, :format_created_at], :root => "asset") : %Q"<script type='text/javascript'>        window.parent.CKEDITOR.tools.callFunction(#{params[:CKEditorFuncNum]}, '#{Ckeditor::Utils.escape_single_quotes(@record.url_content)}');      </script>"

?

通过输出得到 @text值为:

"{"attachment_file":{"content_type":"application/msword","url_content":"/ckeditor_assets/attachments/18/\\u4e8c\\u671fUI\\u95ee\\u9898\\u6587\\u6863.doc?1289289071","id":18,"url_thumb":"/javascripts/ckeditor/images/doc.gif","type":"Ckeditor::AttachmentFile","size":206336,"url":"/ckeditor_assets/attachments/18/\\u4e8c\\u671fUI\\u95ee\\u9898\\u6587\\u6863.doc?1289289071","filename":"\\u4e8c\\u671fUI\\u95ee\\u9898\\u6587\\u6863.doc","format_created_at":"09.11.2010 07:51"}}"

?

在代码中:root => "asset"

但是输出的root = "attachment_file"

可见是to_josn 方法出错

找到C:\ruby\lib\ruby\gems\1.8\gems\activerecord-2.3.5\lib\active_record\serializers\json_serializer.rb文件的82行代码做如下修改:

 hash = { self.class.model_name.element => hash } if include_root_in_json

?

替换为

hash = {options[:root] ||  self.class.model_name.element => hash } if include_root_in_json

?

保存之后重启你的服务。问题解决

热点排行