1

我正在开发 Rails 上的手动访问控制,需要一些有关动态菜单的帮助。

我有 3 个模型:用户、组和功能

用户有一组

组有很多用户

群组有很多功能

用户通过组具有许多功能。

K. 现在,当我使用“admin”登录时,我想呈现一个具有管理员组功能的动态菜单。

我怎样才能做到这一点?

4

2 回答 2

1

沿着这条线作为一个助手

def admin_content(current_user)
  if current_user.admin?
    render 'partial'
  end
end

然后你可以在你的视图中调用它。

于 2013-04-02T00:44:56.167 回答
1

看看CanCan,它“是 Ruby on Rails 的一个授权库,它限制了允许给定用户访问的资源。”

然后,您可以使用initialize他们在示例中提供的方法来更好地控制您的菜单。

  def initialize(user)
    user ||= User.new # guest user (not logged in)
    if user.admin?
      can :manage, :all
    else
      can :read, :all
    end
  end
于 2013-04-02T00:47:04.840 回答