ruby - 导轨 3 休息 : activeresource destroy validation

标签 ruby ruby-on-rails-3 rest activeresource

大家好,我正在使用 active_resource,有下一个问题。 有时需要进行销毁验证 示例

 def destroy
      if @user.destroy
        head :ok
      else
        respond_with(@user)
      end  
  end

少数情况下用户模型无法删除。如果没有删除 @user 在验证 before_delete 后包含错误 响应者将其序列化 => {\"errors\":{\"id\":[\"无法删除有订单的用户\"]}}

但 active_resource 不处理此类响应并失败

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

处理这种情况的最佳方法是什么?

最佳答案

所以我就这样做了

module ActiveResource

  class Base
     def destroy_with_validation
         begin
           destroy
          rescue ActiveResource::ResourceInvalid=>error
            @remote_errors = error
            load_remote_errors(@remote_errors, true)
            return false
          end    
      end
 end

关于ruby - 导轨 3 休息 : activeresource destroy validation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8713070/

相关文章:

ruby-on-rails - 使用 Thinking Sphinx 定义关联模型的索引

Css 文本内阴影的扭曲! (rails 3 中的表单提交按钮)

ruby-on-rails - 如何使用 Net::HTTP::Post 将 XML 发布到 RESTFUL Web 服务?

ios - 带有错误映射的 RestKit PUT 请求

ruby - 用于通过包含 Ruby 中相同值的大数组对小数组进行排序的一行代码?

ruby - 如何修复 Linux 中的 "usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed"错误?

regex - 使用正则表达式检查用户输入的开头是否恰好有两个大括号

ruby-on-rails - 乘客加载错误 - 无法加载此类文件 -- phusion_passenger (LoadError)

ruby-on-rails-3 - 在 Rails 应用程序中,我将在哪里存储静态/常量值?

java - 将 Json 传递给 Rest 并通过 JSONObject 接收