gpt4 book ai didi

ruby-on-rails - 'right way' 否决 attr_accessible

转载 作者:行者123 更新时间:2023-12-04 18:18:11 26 4
gpt4 key购买 nike

我的模型包含一个“管理”字段,它是真或假。它不在“attr_accessible”上,因为我们不希望坏人能够欺骗我们的 Controller 向用户提供“管理员”权限。
因为,如果我在我的模型中以管理员身份登录,我“确实”希望能够更新任何用户的记录以创建或取消他们的管理员。所以......管理员缺少 attr_accessible 阻止我这样做。
也许这不是看待它的正确方式。处理这种情况的正确方法是什么?

最佳答案

Rails 3.2 添加了一个功能,可以让你做你所描述的事情。只需在您的模型中定义它:

attr_accessible accessible_attributes + [:admin], :as => :admin

然后在要分配 admin 属性的 Controller 中,执行以下操作:
User.new(params[:user], :as => :admin)

或者
user.update_attributes(params[:user], :as => :admin)
attr_accessible 之前列出的所有属性调用 :as => :admin任何支持 :as => :admin 的 Active Record 调用都可以访问属性。选项。

如果您没有调用 accessible_attributes在该定义中,只有在那里定义的属性可以访问。

关于ruby-on-rails - 'right way' 否决 attr_accessible,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11303331/

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