我在我的应用程序中有问题模型。权威政策与命名空间
应用程序/模型/ question.rb
class Question < ActiveRecord::Base
...
end
我使用的是 '权威人士' 的宝石进行授权。有两个控制器可以对问题进行一些更改:一个用于注册用户,另一个用于管理员。
我试图为控制器创建单独的策略。
应用程序/控制器/ questions_controller.rb
class QuestionsController < ApplicationController
...
end
应用程序/政策/ question_policy.rb
class QuestionPolicy < ApplicationPolicy
...
end
应用程序/控制器/管理/ questions_controller.rb
class Admin::QuestionsController < Admin::ApplicationController
...
end
应用程序/ policies/admin/question_policy.rb
class Admin::QuestionPolicy < Admin::ApplicationPolicy
...
end
当我试图在Admin :: QuestionsController中使用'authorize'方法时,它使用的app/policies/question_policy.rb类不是来自admin文件夹。
宝石的文档说应该像我上面描述的那样工作(https://github.com/elabs/pundit#namespaced-policies)。
有人可以帮我吗?
此解决方案适用于我。 – jizak