johnney的小窝 2009-01-10 11:09
浏览 271
已采纳

Flex+rails中render的问题

task_controller中的一个action如下:
[code="java"]
def create
@task = current_user.tasks.build(params[:task])
respond_to do |format|
if @task.save
format.html do
flash[:notice] = 'Task was successfully created.'
redirect_to(@task)
end
format.xml { render :xml => @task, :status => :created,
:location => @task }
else
format.html { render :action => "new" }
format.xml { render :xml => @task.errors,
:status => :unprocessable_entity }
end
end
end
[/code]

当 format.xml { render :xml => @task, :status => :created,
:location => @task } 执行后, flex前端就会报错,就是那个2032的错误

[RPC Fault FaultString="HTTP request error" faultCode="Server.Error.Request" faultDetail="Error:[IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032:Stream Error.URL: http://localhost:3000/bugs/update"].URL: http://localhost:3000/bugs/update"]

at mx.rpc::AbstractInvoker/http://www.adobe:com/2006/flex/mx/internal::faultHandler()
at mx.rpc::Responder/fault()
at mx.rpc::AsyncRequest/fault()
at flash.events::EventDispatcherdispatchEventFunction()
at.flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/redirectEvent()

我不理解rails中的format.xml { render :xml => @task, :status => :created,
:location => @task }是什么意思,:status,:location主要指什么?还有就是format.xml { render :xml => @task.errors,
:status => :unprocessable_entity }中的:unprocessable_entity是什么意思?

  • 写回答

1条回答 默认 最新

  • RubyOmniBus 2009-01-11 11:57
    关注

    那你要回看HTTP status code的定義,暫不作解釋。

    長話短說,flex不曉處理200 OK以外的回傳狀態,通通回Fault。只要你任何情況,傳回一個200 OK及一個XML,就可以免去fault的問題。

    1. 將 format.xml { render :xml => @task, :status => :created, :location => @task }

    改成
    format.xml { render :xml => @task }

    1. 將 format.xml { render :xml => @task.errors, :status => :unprocessable_entity }

    改成
    format.xml { render :xml => @task.errors }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效