1

Rails で手動アクセス制御を開発していて、動的メニューのヘルプが必要です。

ユーザー、グループ、機能の 3 つのモデルがあります。

ユーザーには 1 つのグループがあります

グループには多くのユーザーがいます

グループには多くの機能があります

ユーザーは、グループを通じて多くの機能を利用できます。

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

「特定のユーザーがアクセスできるリソースを制限する Ruby on Rails の認可ライブラリ」であるCanCanをご覧ください。

次に、例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 に答える