rails3 authlogic管理员角色

时间:2011-05-14 13:41:31

标签: ruby-on-rails authlogic

我有authlogic工作正常但现在需要让管理员用户进来并拥有不同的访问权限。

所以我创建了一个迁移,将administrator列添加到Users表中作为字符串。但是,我似乎无法获得它的价值!!

请参阅下面的索引操作:

print "\n administrator" + User.find(current_user.id).administrator.to_s

当我知道此用户在数据库中将administrator字符串设置为true时,上述行永远不会打印任何内容。

以下是用户模型

class User < ActiveRecord::Base
  acts_as_authentic  {|config| 
    config.validates_uniqueness_of_email_field_options :scope => :id
  }
  belongs_to :another_class
end

我在这里做错了什么?我想要做的就是获取管理员列值。在日志中,我可以看到正在运行select users.* from users where id = 2查询!

还有另一种使用authlogic管理管理员角色的最佳方法吗?

2 个答案:

答案 0 :(得分:1)

最好使用cancan来管理角色和权限。它可以与authlogic结合使用。

如果您只是在用户记录中添加一个标记“administrator”字段,只要您的规则很简单,它就应该有效,但是作为布尔值而不是字符串会更好。

答案 1 :(得分:0)

您说数据库中有一个“管理员”字符串列,您正在寻找值true。也许你想要一个布尔列?