私には4つの異なるレベルのアクセスがあります。管理者、パートナー、従業員、クライアント。管理者、パートナー、および従業員は、クライアントに対する管理アクセス権を持っています。基本的に私が行ったことは、クライアントがベンダー(パートナー)にドキュメントをアップロードできるRailsアプリを作成することです。クライアントレベルのアクセスを除いて、すべてがうまく機能します。私には2つのコードがあります。パートコードとクライアントコード。パートナーは、ファイルのpartercodeフィールドがパートナーのパートナーコードと等しいファイルのみを表示できます。これは問題なく機能します。ただし、クライアントは、パートナーコードが一致し、クライアントコードが一致するファイルのみを表示できます。以下は私のクライアントセクションです。動作しているのは、クライアントがパートナーコードファイルのみを表示できるようになっていることですが、パートナーに属する他のクライアントを表示するように設定されています。(URLに番号を入力して)。これが問題になるとは思えませんが、
role :client do
has_permission_on [:users], :to => [:client, :edit, :update] do
if_attribute :username => is { user.username }
end
has_permission_on [:documents], :to => [:client, :new, :create]
has_permission_on [:documents], :to => [:client, :index, :show, :edit, :update, :destroy, :documents] do
if_attribute :partnercode => is { user.partnercode }, :clientcode => is { user.clientcode }
end
end