ruby-on-rails - 在 XML 响应中返回错误消息

标签 ruby-on-rails xml rest activeresource

我正在开发我的网络应用程序的 API。它是一个 Rails 2 应用程序,REST API 响应 XML。

例如,我需要返回一个错误,以防无法取消订阅列表中的联系人。因此,我用 Unprocessable Entity (422) 响应,并在 XML 中包含错误消息。这是实际的代码:

respond_to do |format|
  begin
    ...
    format.xml  { head :ok }
  rescue => e
    format.xml  { render :xml => e.to_s, :status => :unprocessable_entity }
  end
end

问题是,在另一边,当有人使用 ActiveResouce 进行申请时,错误到达时消息为空,如下所示:

ActiveResource::ResourceInvalid: Failed.  Response code = 422.  Response message = . 

我是否需要在响应中放入任何 XML 结构或标记,响应消息不能为空?

谢谢

最佳答案

这对我来说不正确:

format.xml  { render :xml => e.to_s, :status => :unprocessable_entity }

render :xml,应该传递一个 XML 字符串。尝试用这样的东西替换它:

format.xml  { render :xml => "<message ='#{e.to_s}'/>", :status => :unprocessable_entity }

关于ruby-on-rails - 在 XML 响应中返回错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8604101/

相关文章:

javascript - 无法通过 Angular $resource 发布数据?

javascript - Backbone JS Turbolinks 未定义问题

ruby-on-rails - 设计/密码 Controller 中的 EOFError#create

.net - Sql Server Xml 数据类型 - 如何强制完整结束元素

android - 在水平和垂直方向的 recyclerview 中膨胀布局,FlexboxLayout 与回收 View 添加 View 水平自动垂直

python - API 属性错误 - 模块对象没有属性 'UserViewSet' - Django Rest Framework

api - Azure Insights API 支持哪些资源类型?

ruby-on-rails - Rails 在父级没有子级时创建默认子级,而在父级有子级时不显示它

ruby-on-rails - 使用 rails 模型中的关联定义的 finder_sql 进行分页

c# - 从 SelectSingleNode 获取具有属性的节点