ruby-china 里面 user 对象里面包含了 admin,但是我却找不到定义在哪里。我理解不了 admin 是哪里来的,有知道的可以帮我解答下吗,谢谢你了 ruby-china 里面 user 对象里面包含了 admin,但是我却找不到定义在哪里。我理解不了 admin 是哪里来的, 也没有保存用户角色的字段。李大大使用 cancan 来实现管理的,但是一个 has_role?(role) 就把我搞懵了。role 也是没有存在的字段。
有知道的可以帮我解答下吗,谢谢你了
不知道你所谓的 ruby-china 里的 user 对象指的是什么?
def admin? Setting.admin_emails.include?(self.email) end
如果 user 的 email 被登记为管理员的 email 则该用户为管理员
很久以前,第一次看到这样设置管理员的时候,我很吃惊!!!
#1 楼 @JIAZHEN 哦,我表达不好,user 类,里面没有关于 admin 的数据字段,应该是这个意思了。也没有保存用户角色的字段。李大大使用 cancan 来实现管理的,但是一个 has_role?(role) 就把我搞懵了。
#2 楼 @kepaning 我尝试了 user.admin 但是输出是错误的。这是怎么回事呢。
#3 楼 @badboy 那就一起寻找答案吧。
#6 楼 @zhzenghui 2 楼代码已给出解释,具体可参考 ruby-china 代码 https://github.com/ruby-china/ruby-china/blob/master/app/models/user.rb#L133
#3 楼 @badboy 其实这种方式也还 ok 啦,其实就是和写死一样~因为管理员不经常改动的,再说现在 reload server 还不是 cap 一下,也不会有 down time.~
has_role? 是另一个 gem 提供的功能: rolify
has_role?
rolify
#5 楼 @zhzenghui 因为 user 没有 admin 方法啊,只定义了 admin? 方法
#8 楼 @lyfi2003 但是我没有找到它 引入了 rolify 啊,这是怎么回事呢?
#9 楼 @kepaning 哦抱歉,oc 程序对于 admin? 理解起来确实难一点。管理员相对来说好理解些,那对于 rubychina 是怎么保存用户权限的呢。完全没有 role 这个数据存在
#7 楼 @small_fish__ 其实我更感兴趣的是 它是怎么实现权限管理的,role 这东西完全找不到存在啊。site_editor wiki_editor 是完全不知道怎么存在。