before_filter检查多个角色

时间:2011-05-17 03:08:48

标签: ruby-on-rails controller authorization roles before-filter

在application_controller中,我有以下方法:

  def authorized_for_roles(*roles)
    roles.each{|role_name| return true if current_user.has_role?(role_name)}
    false
  end

在我的一个控制器中,我有

private

  def authorize_administration
    authorized_for_roles :administrator
  end

我在before_filter中调用authorize_administration。目前正在获取“未定义的方法角色”错误。有人可以告诉我哪里出错了吗?current_user有效/已定义,并且可以检查角色。

由于

1 个答案:

答案 0 :(得分:0)

错误是真的在authorized_for_roles def中,还是在User模型中?你为用户定义了has_many:roles吗?