0

複数のロール用にデバイスを構成するためのリンクhttps://github.com/plataformatec/deviseを見てきました。しかし、私はどのように特定が特定のものdeviseであることを認識するかという事実と混同していますか? 管理者のサインアップ プロセスがないため、これについて説明してください。また、初めてなので、複数の役割用にデバイスを構成するすべての手順を説明してください。useradminror

4

2 に答える 2

3

CanCanは、rubyを使用する役割の最善のソリューションです。役割ベースのシステムを作成するには、TonyのDevise/CanCanの使用法を確認することをお勧めします。それを正確に解決する方法を理解するのに少し時間がかかりましたが、今では私にとっては不思議に思います。

そして2番目の方法は

ロールモデルをお勧めします。このシナリオでは、ユーザーはロールを実行しますが、ユーザーはhave_and_belong_to_many :rolesロールを実行しhave_and_belong_to_many :usersます。これにより、役割とユーザーの間に多対多の関係が作成されます。アソシエーションの詳細については、このRailsGuideを参照してください。

CanCanのability.rbファイルでは、次のようなことができます(セットアップを推測しています)。

 can :manage, Brand do |brand|
  user.has_role?("brand_manager") && user.brands.include?(brand)
end

user.rbファイルに、次のように記述しておくと便利です。

def has_role?(name)
  role = Role.find_by_name(name)
  (self.roles.include?(role)) ? (return true) : (return false)
end

お役に立てれば。

于 2012-11-03T10:15:19.893 に答える