设计角色:不同的角色,在某些情况下相同的权利

时间:2010-04-24 14:39:46

标签: ruby-on-rails ruby

我在设计方面有两个角色。第一个是admin,第二个是普通用户角色。 现在我想在某些情况下给这两个组提供与过滤器之前相同的权利。

这是如何运作的?

我有:

before_filter :authenticate_user!, :only => [:new, :create]
before_filter :authenticate_admin!, :only => [:new, :create, :edit, :update, :destroy]

但现在只有一个用户可以:new和:创建...管理员不.. 我在这里要做什么?

谢谢, Mattherick

1 个答案:

答案 0 :(得分:3)

我还没有亲自使用过Devise,所以这只是为了指出你正确的方向。它可能无法正常工作。

before_filter :authenticate_user_or_admin, :only => [:new, :create]
before_filter :authenticate_admin!, :only => [:edit, :update, :destroy]

# ...

protected
  def authenticate_user_or_admin
    unless user_signed_in? or admin_signed_in?
      # Redirect somewhere else
    end
  end