Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在开发 Rails 上的手动访问控制,需要一些有关动态菜单的帮助。
我有 3 个模型:用户、组和功能
用户有一组
组有很多用户
群组有很多功能
用户通过组具有许多功能。
K. 现在,当我使用“admin”登录时,我想呈现一个具有管理员组功能的动态菜单。
我怎样才能做到这一点?
沿着这条线作为一个助手
def admin_content(current_user) if current_user.admin? render 'partial' end end
然后你可以在你的视图中调用它。
看看CanCan,它“是 Ruby on Rails 的一个授权库,它限制了允许给定用户访问的资源。”
然后,您可以使用initialize他们在示例中提供的方法来更好地控制您的菜单。
initialize
def initialize(user) user ||= User.new # guest user (not logged in) if user.admin? can :manage, :all else can :read, :all end end