gpt4 book ai didi

ruby-on-rails - 使用 Rails 3.1 :as => :admin for updating attributes protected by attr_accessible

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

看完后attr_accessible in the Rails 3.1 API ,我看到有一个 as :admin选项在那里。我想知道两件事。

  • 如果用户有管理员标志,我的 Controller 如何告诉我的模型用户是管理员。
  • 如果用户是所有者,我可以指定:as => owner吗?在我的模型中,我的 Controller 如何再次通知我的模型他们是物品的所有者。
  • 最佳答案

    没有与模型的内置集成;你在assign_attributes中传递的角色称呼:

    @project.assign_attributes(params[:project], :as => :admin)
    :as参数默认为 :default , 你可以传入任何你想要的符号。将此集成到您的 User模型,你可以给它一个名为 role 的属性,然后执行以下操作:
    @project.assign_attributes(params[:project], :as => current_user.role.to_sym)

    您还可以使用 :without_protection 绕过保护。 :
    @project.assign_attributes(params[:project], :without_protection => true)

    类似地, new , create , create! , update_attributes , 和 update_attributes!方法都尊重批量分配的安全性。 Ruby on Rails guide on securitymore info .

    关于ruby-on-rails - 使用 Rails 3.1 :as => :admin for updating attributes protected by attr_accessible,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8796827/

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