acl9 を使用してユーザー ロールを管理するための最善の方法は何かお考えですか?
必要性は次のとおりです。
- 管理者は、ユーザーの役割を更新できる必要があります。
問題は次のとおりです。
- すべてのサブジェクト ロールを一覧表示するにはどうすればよいでしょうか。:管理者、:管理者
- API エンドポイントを RESTful に保つために、理想的には user_controller の update メソッドでロール パラメータを渡したいと思います。
- ユーザー オブジェクトの所有者が自分の first_name フィールドと last_name フィールドを変更できるが、role フィールドは変更できないように、role プロパティだけを承認するにはどうすればよいですか? 管理者のみが許可されます。
access_control
ブロックの外側でパラメーターを手動で確認できます。
def secure_params
if current_user.has_role?(:admin)
params.require(:user).permit(:first_name, :last_name, :role)
else
params.require(:user).permit(:first_name, :last_name)
end
end
しかし、よりクリーンなソリューションがあるかどうかを確認すると思いました。
RoleTypes.ADMIN
最後に、 のRoleTypes.MANAGER
代わりに , のようなものを使用することは可能で賢明:admin
ですか? もしそうなら、これを行う最善の方法は何ですか?また、そのクラスはレールアプリ全体でアクセスできますか?