gpt4 book ai didi

ruby-on-rails - attr_accessible 在 Rails 中如何工作?

转载 作者:数据小太阳 更新时间:2023-10-29 07:12:20 24 4
gpt4 key购买 nike

我刚刚有一个关于 Ruby on Rails 和模型 (Rails 3) 中的 attr_accessible 属性的一般性问题。有人可以解释应该在那里定义哪些模型属性吗?我记得一些关于批量分配风险的事情,虽然我在这方面不太了解......谢谢 :)

最佳答案

想象一个带有一些字段的订单类:

Order.new({ :type => 'Corn', :quantity => 6 })

现在假设订单也有折扣代码,比如 :price_off。您不想将 :price_off 标记为 attr_accessible。这会阻止恶意代码制作最终会执行如下操作的帖子:

Order.new({ :type => 'Corn', :quantity => 6, :price_off => 30 })

即使您的表单没有 :price_off 字段,如果它只是在您的模型中,默认情况下它也是可用的。精心制作的 POST 仍然可以设置它。

使用 attr_accessible 白名单可以批量分配这些内容并保护您希望在代码中显式控制的字段。

Difference between attr_accessor and attr_accessible有一些额外的链接。

关于ruby-on-rails - attr_accessible 在 Rails 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7180459/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com