我正在为我的应用构建API,并希望返回由验证错误生成的XML响应中的错误。
所以说你在网站上注册,现在返回的验证错误可能是:
Login has already been taken
Password is too short (minimum is 6 characters)
Email has already been taken
但我想重新格式化为:
<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>
那么,我如何访问验证错误数组呢?
答案 0 :(得分:5)
Rails默认为您提供此功能,即
user.errors.to_xml
会给你
=> <?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>
答案 1 :(得分:1)
模型对象将有一个可以迭代的errors对象,validations doc中的一些示例。
答案 2 :(得分:1)
在错误方法
上调用#to_xml
user = User.new
unless user.valid?
return user.errors.to_xml
end