如何使用 Ruby on Rails 3 将错误属性附加到 XML 响应?

发布于 2024-10-11 06:16:58 字数 656 浏览 2 评论 0原文

我正在尝试实现 REST API,因此在我的 RoR3 应用程序中我有 XML 响应。在将 XML 传递给消费者之前,我想检查某处是否存在错误,如果有,则追加并发回带有错误消息的响应。

我阅读了 RoR 上的“Active Record 验证和回调”指南网站,但它似乎不适用于我的情况。

我从数据库中提取正在执行的资源

@response = User.find_by_id(1)

,如果可能的话,我希望在“验证”后访问@response.errors。

看到一些示例,我已经了解了如何在 XML 文件中报告错误

format.xml  { render :xml => @response.errors }

,但是如何向 @response 添加新错误?

也许是这样的:

errors.add(:password, "is invalid")

I am trying to implement REST APIs, so in my RoR3 application I have XML responses. Before to pass to a consumer the XML, I would like to check if there are errors somewhere and, if so, append and send back a response with error messages.

I read "Active Record Validations and Callbacks" guides on the RoR website, but it seems not work in my case.

I extract from the database a resource doing

@response = User.find_by_id(1)

and I would like, if possible, to access @response.errors after a "validation".

Seeing some examples I have seen how to report errors in an XML file

format.xml  { render :xml => @response.errors }

but how can I add new errors to the @response?

Maybe something like this:

errors.add(:password, "is invalid")

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

-黛色若梦 2024-10-18 06:16:58

这也有效:

errors.add_to_base('your text')

但您应该将其放入模型中。

this works too:

errors.add_to_base('your text')

but you should put it in the model.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文