加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails – 如何声明attr_accessible多重角色而

发布时间:2020-12-16 20:16:06 所属栏目:百科 来源:网络整理
导读:有没有一种方式可以声明attr_accessible为多个角色没有大量的重复? 如果我有几个用户角色,并且允许每个角色编辑不同的属性子集,那么我的attr_accessible声明就是这样的: attr_accessible :first_name,:last_name,:active,:as = :adminattr_accessible :fir
有没有一种方式可以声明attr_accessible为多个角色没有大量的重复?

如果我有几个用户角色,并且允许每个角色编辑不同的属性子集,那么我的attr_accessible声明就是这样的:

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

我也想

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

这可能吗?

解决方法

所有的红宝石代码仍然只是红宝石代码,因此是无限的黑客.例如
ROLES = [:admin,:manager,:support,:user,:guest]
ACTIVE_ROLES = [:admin,:support]
ROLES.each do |role|
   fields = [:first_name,:last_name]
   fields += [:active] if ACTIVE_ROLES.include?(role)
   attr_accessible *fields,:as => role
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读