0

私はレールにまったく慣れていないので、ユーザーがモデルのどの属性を変更できるかを制御できる認証システムをセットアップしようとしています。

役割ベースの承認に declarative_authorization を使用します。これにより、すでに非常に多くの機能が提供されています。ユーザーがロールに応じてビューで表示できるもの、コントローラーで実行できるアクション、および基本的にモデルで実行できるアクションを制限します。

ただし、ロールに応じてモデルの特定の属性に対するアクションを制限する方法についての答えが見つかりません。

例: :guest ロールを持つユーザーは、ユーザー アカウントの特定の属性を更新することができます: 彼が間違ったパスワードでログインしようとすると、このアカウントを作成するユーザー アカウントの特定のフィールドを更新したい非活性。ただし、:guest ロールは、このユーザー アカウントのニックネームを変更することはできません。

したがって、ユーザーモデルで「using_access_control」メソッドを使用しますが、これにより、ロールに応じて、すべての属性のアカウントに「更新」権限が付与されるか、「更新」権限がまったく付与されません。

「strong_parameters」は基本的にそのような機能を利用できるようにする宝石であることは理解していますが、「declarative_authorization」と「strong_parameters」の両方を組み合わせる方法や、単に「declarative_authorization」で行う方法についてはわかりません。

誰かが私に解決策を教えてもらえますか?

どうもありがとう!

4

1 に答える 1

-1
Authorization::Maintenance::without_access_control do
  # do something
end

これがお役に立てば幸いです。

于 2013-05-15T13:27:23.990 に答える