gpt4 book ai didi

ruby-on-rails - Rails - 如何在不重复的情况下为多个角色声明 attr_accessible

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

有没有一种方法可以为多个角色声明 attr_accessible 而无需大量重复?

如果我有多个用户角色,并且允许每个角色编辑不同的属性子集,那么我的 attr_accessible 声明如下所示:

attr_accessible :first_name, :last_name, :active, :as => :admin
attr_accessible :first_name, :last_name, :as => :manager
attr_accessible :first_name, :last_name, :as => :guest

我也愿意

  • A) 定义一组可以共享的可访问属性不同的角色或
  • B) 定义一组可以访问相同角色的角色属性

这可能吗?

最佳答案

我只是花了很长时间试图找出执行此操作的最佳方法。 Rails 人员期望您复制一大堆代码,这似乎很奇怪!

在 rails 源代码中进行一些挖掘之后,事实证明您可以简单地传递一个数组来一次将属性分配给多个角色(:默认是默认的 Active Record 角色)

attr_accessible :name, :email, :as => [ :default, :admin ]    
attr_accessible :featured, :as => :admin

模型中没有凌乱的 ruby​​ 数组!

关于ruby-on-rails - Rails - 如何在不重复的情况下为多个角色声明 attr_accessible,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6877853/

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