私のアプリケーションでは、すべてのユーザーが独自のタスクを読み取ることができます。2 番目のコントローラーはモデレーターのみが使用でき、モデレーターはすべてのタスクを表示できます。
# accessible for every user
# every user should see only own tasks,
# but at the moment all moderators see all tasks
class TasksController < ActionController::Base
load_and_authorize_resource
end
# only accessible for moderators, all tasks
class TasksModeratorController < ActionController::Base
load_and_authorize_resource :task, :parent => false
end
# Ability
# Moderators can read all tasks
if user.moderator?
can :read, Task
end
# All users can read there own tasks
can :read, Task, :user_id => user.id
TasksController のタスクを制限して、自分のタスクのみをモデレーターにも表示するが、TasksModeratorController のすべてのタスクを表示するにはどうすればよいですか? または、これを処理するためのより一般的な方法はありますか?