Rails Recipes中role-based authorization的问题

Rails Recipes中role-based authorization的问题

刚做了depot实例里的管理部分,想结合下php?name=rails" onclick="tagshow(event)" class="t_tag">rails recipes中的权限控制认证,不过代码中的user.roles.detect这个写法不是很明白,user和roles分别代表什么? 代码如下:
def check_right
  user = User.find(session[:user])
  unless user.roles.detect{|role|role.rights.detect{|right|right.action == action_name && right.controller == controller_name}}
  flash[:notice] = "You are not authorized to view the page you requested"
  request.env["HTTP_REFERER"] ? (redirect_to :back) : (redirect_to :list)
  return false
  end
 end
仿照代码写了方法在depot中运行,然后按照rails recipes上的运行console时,键入命令user.roles << role 会报错说roles方法未定义
另外,如果想不用console来添加role和right的话,是否只需要创建个view,里面查找出user,然后填写role中的字段和right中的字段就可以了? console运行时候的命令user.roles << role该如何处理?
问题有点多,希望高手不吝赐教~~
汗,隔了一天,调试竟然成功了了,不过发现用console增加用户权限比较麻烦,用svn进行版本控制的时候,每天机器都要增加一下用户权限。
如果想不用console来添加role和right的话,是否只需要创建个view,里面查找出user,然后填写role中的字段和right中的字段就可以了? console运行时候的命令user.roles << role该如何处理?
剩下这个问题,希望能够得到指点~~