序文: Rails コミュニティの出身者であれば、サーバー側でモデル アクションの承認を宣言する cancan に精通していると思われます。すなわち。can?(:read, プロジェクト)
背景: しかし、フロントエンドの UI レイヤーでは、ユーザーに表示されるものとユーザーが許可されていることを処理するために同じタイプの抽象化を提供するものは見つかりませんでした (明らかに常にバックエンド認証レイヤーも持っています)。たとえば、ユーザーにボタンを表示しますか? 「contenteditable」要素属性を含めますか? ユーザーが「いいね」をクリックした場合、それを登録しようとしますか、それともログイン ダイアログ ボックスを表示しますか?
質問: この種の UI の問題を処理するためのフレームワーク/ツール/ライブラリ/ベスト プラクティスを知っている人はいますか?
フォローアップ: 質問はビューまたはテンプレートで評価されますか? これはテンプレート言語の機能ですか、それともテンプレートに渡すブール変数のセットですか?
余談ですが、メソッド シグネチャが App.can('like',project,user) のようなもので、プロジェクトとユーザーが BB モデル オブジェクトである cancan 模倣ツールのアイデアがありました。ただし、問題は、ユーザーが特定のオブジェクトに対して実行できるさまざまなアクションの数である可能性があります。すなわち。プロジェクトのように、プロジェクトを編集し、プロジェクトにコメントし、友人をプロジェクトに招待するなどです。これらのいくつかは RESTful アクションに減らすことができますが、UI がより多くの種類のアクションを提示することにほとんどの人は同意すると思います。