Rails:如何循环验证错误?

Shp*_*ord 1 arrays validation ruby-on-rails

我正在为我的应用程序构建API,并希望返回由验证错误生成的XML响应中的错误.

所以说你在网站上注册,现在返回的验证错误可能是:

Login has already been taken
Password is too short (minimum is 6 characters)
Email has already been taken
Run Code Online (Sandbox Code Playgroud)

但是我想重新格式化为:

<errors>
    <error>Login has already been taken</error>
    <error>Password is too short (minimum is 6 characters)</error>
    <error>Email has already been taken</error>
</errors>
Run Code Online (Sandbox Code Playgroud)

那么,我将如何访问验证错误数组呢?

Har*_*tty 5

Rails默认为您提供此功能,即

  user.errors.to_xml
Run Code Online (Sandbox Code Playgroud)

会给你

=>  <?xml version="1.0" encoding="UTF-8"?>
    <errors>  
     <error>Name can't be blank</error>
     <error>Wiki url can't be blank</error>
     <error>User can't be blank</error>
    </errors>
Run Code Online (Sandbox Code Playgroud)