我正在使用包含swfupload的Rails ckeditor插件。我还安装了paperclip插件来处理实际文件(虽然我不认为这是问题的一部分)。
我已经完成了所有工作,但是如果验证失败则没有向用户显示消息 - 就像文件大于指定的文件大小限制一样。事实上没有任何事情发生(只是默默地失败)。
我检查了包含处理实际上传的ckeditor控制器,在 create 方法中,我看到了这个代码块:
if @record.valid? && @record.save
@text = params[:CKEditor].blank? ? @record.to_json : %Q"<script type='text/javascript'>
window.parent.CKEDITOR.tools.callFunction(#{params[:CKEditorFuncNum]}, '#{escape_single_quotes(@record.url(:content))}');
</script>"
format.html { render :text=>@text }
else
format.html { render :nothing => true }
end
看着这个,如果出现错误,不会呈现任何内容。请注意,format.html是在任何一种情况下运行的(有效或无效的记录)。如果记录有效,则发现params [:ckeditor]为null,因此它序列化记录并将其作为json发回。
如果模型验证失败,则swfupload调试输出显示它是指示上载成功的事件。
我错过了一些简单的东西吗?或者验证从未写入插件?如果没有,需要做些什么才能让它发挥作用?好吧,无论如何我想让这个工作。谢谢!