2016-04-13 6 views
3

私は、レールアプリケーションでさまざまなロールタイプのユーザーのための大きな能力リストを用意しています。これはCanCanCanの宝石と一緒です。CanCanCanのUIでの表示能力

これはかなり大きくなりました。私は、さまざまなユーザーの能力の低下を見ることができる非デベロッパーユーザーです。どのように私はユーザーインターフェイス上の既存の能力を表すことができますか?

すなわち

class MyUserAbilityController < ActionController::Base 

    def show 
    @abilities = current_user.abilities 
    end 

    def index 

    @full_abilities = Hash.new 

    Role.all.each do |role| 
     @full_abilities[role.name] = role.abilities 
    end 

    end 

end 

そしてビューに沿って渡しますか?

さらに、CanCanCanの能力を外部ソースから動的に変更または変更する方法はありますか?

私は今、ターミナルでこれを使って遊んでいます。最終的な目標は、基本的なルール設定(作成ではなく、おそらく 'can's to'でない)を管理者のユーザーインターフェイスでラジオボタン。

-Schwad

+0

本当にあなたの質問には関係ありませんが、これが新しいプロジェクトの場合はおそらくCanCanCan gemを使用しているはずです。これは、現在廃止されたCanCanの宝石の維持されたフォークです。https://rubygems.org/gems/cancancan – bigtunacan

+0

私は同意します、cancancanは起こっています。 – Schwad

答えて

1

私はこの答えを解決するために宝石を開発することを決定した、それはまだ開発中非常に多くのですが、すぐに目的のために合います。それはCanCanCanSeeと呼ばれています。

Check it out here

それは、既存の能力や役割のハッシュをレンダリングするためにあなたの方法CanCanCanSee.all_abilitiesをもたらします。あなたは(あなたがrake routesで行うように考える)ターミナルからあなたの能力のかなり印刷されたバージョンを実行したい場合は

はまた、あなたはCanCanCanSee.pretty_print_abilities

感謝を持っています!

関連する問題