Rails“批量分配” - 这到底是什么?

发布于 2024-12-05 07:30:25 字数 396 浏览 1 评论 0原文

Rails 文档并没有明确说明这一点,但似乎 update_attributes 的所有使用都构成批量分配,并且如果使用 attr_accessible,则所有属性都需要列入白名单。 update_attributes 的文档没有提到这一点:

update_attributes(属性)

使用传入哈希中的所有属性更新此资源并请求保存记录。

如果由于连接或远程服务错误而导致保存失败,则会引发异常。如果由于资源无效而保存失败,则返回 false。

注意:虽然可以使用部分资源属性集发出此请求,但请求的完整正文仍将在保存请求中发送到远程服务。

我是否应该注意任何其他方法来触发此批量分配限制?

Rails documentation doesn't make this very clear, but it seems that all uses of update_attributes constitutes mass assignment and all attributes need to be whitelisted if using attr_accessible. The docs for update_attributes makes no mention of this:

update_attributes(attributes)

Updates this resource with all the attributes from the passed-in Hash and requests that the record be saved.

If the saving fails because of a connection or remote service error, an exception will be raised. If saving fails because the resource is invalid then false will be returned.

Note: Though this request can be made with a partial set of the resource’s attributes, the full body of the request will still be sent in the save request to the remote service.

Are there any other methods I should be aware of that trigger this mass assigment restriction?

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

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

发布评论

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

评论(2

往日情怀 2024-12-12 07:30:25

我认为你应该看这里: http://api.rubyonrails.org/classes/ ActiveModel/MassAssignmentSecurity/ClassMethods.html

并观看这个非常古老且非常短的railscast http://railscasts.com/episodes/26-hackers-love-mass-assignment

这会对你处理“批量分配”主题有很大帮助:)

I think you should look here: http://api.rubyonrails.org/classes/ActiveModel/MassAssignmentSecurity/ClassMethods.html

and watch this very old and very short railscast http://railscasts.com/episodes/26-hackers-love-mass-assignment

This will help you a lot with "mass assignment" topic :)

维持三分热 2024-12-12 07:30:25

使用批量分配时,您应该使用 attr_accessible 来定义哪些属性可以更新,或者使用 attr_protected 来定义哪些属性不应更新。

有关批量分配的更多信息请参见此处:
https://stackoverflow.com/questions/tagged/mass-assignment

When using mass assignment, you should use attr_accessible to define which attributes may be updated, or attr_protected to define which shouldn't be updated.

More information on mass assignment here:
https://stackoverflow.com/questions/tagged/mass-assignment

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