Ruby on rails 4 具有名称空间的权威策略
我的应用程序中有问题模型 app/models/question.rbRuby on rails 4 具有名称空间的权威策略,ruby-on-rails-4,namespaces,authorization,pundit,Ruby On Rails 4,Namespaces,Authorization,Pundit,我的应用程序中有问题模型 app/models/question.rb class Question < ActiveRecord::Base ... end 类问题
class Question < ActiveRecord::Base
...
end
类问题
我用“权威”宝石来授权。有两个控制器可以对问题进行一些更改:一个用于注册用户,一个用于管理员
我正在尝试为控制器创建单独的策略
app/controllers/questions\u controller.rb
class QuestionsController < ApplicationController
...
end
class Admin::QuestionsController < Admin::ApplicationController
...
end
类问题控制器
app/policies/question_policy.rb
class QuestionPolicy < ApplicationPolicy
...
end
class Admin::QuestionPolicy < Admin::ApplicationPolicy
...
end
class QuestionPolicy
app/controllers/admin/questions\u controller.rb
class QuestionsController < ApplicationController
...
end
class Admin::QuestionsController < Admin::ApplicationController
...
end
class Admin::QuestionsController
app/policies/admin/question_policy.rb
class QuestionPolicy < ApplicationPolicy
...
end
class Admin::QuestionPolicy < Admin::ApplicationPolicy
...
end
class Admin::QuestionPolicy
当我试图在Admin::QuestionsController中使用“authorize”方法时,它使用的是app/policies/question\u policy.rb类,而不是来自Admin文件夹
Gem的文档说,它应该像我上面描述的那样工作()
有人能帮我解决这个问题吗?我已经在github源代码中创建了这个问题,并以这样的解释结束了它: 单据指当前未发布的主分支机构。您可以通过引用Gemfile中的github源代码来使用它
我在github源代码中创建了一个问题,并以这样的解释结束了它: 单据指当前未发布的主分支机构。您可以通过引用Gemfile中的github源代码来使用它
如果有人还在寻找这个功能,我也需要它来在ActiveAdmin和面向最终用户的站点之间分割授权。我为(您的策略将起作用)构建了一个与Pundit兼容的gem,我计划遵循为Pundit发布的任何功能。它还包括一个ActiveAdmin适配器。如果有人仍在寻找此功能,我也需要它来在ActiveAdmin和面向最终用户的站点之间分割授权。我为(您的策略将起作用)构建了一个与Pundit兼容的gem,我计划遵循为Pundit发布的任何功能。它还包括一个ActiveAdmin适配器。我试图为主应用程序和ActiveAdmin获取单独的策略,并通过创建一个自定义的
PunditAdapter
来完成一个工作解决方案,该适配器将在配置/初始化器/active_admin.rb中使用
classnamespacedpenditadaptere
如果定义了默认策略类和默认策略类常量(:范围)
默认\u策略\u类::Scope.new(用户、集合)。解析
其他的
提高e
终止
终止
终止
另一种选择是使用ActiveSupport::Concern
,正如前面所指出的那样我试图为主应用程序和ActiveAdmin获取单独的策略,并通过创建一个定制的PunditAdapter
在config/initializers/active\u admin.rb
中使用,最终得到一个有效的解决方案
classnamespacedpenditadaptere
如果定义了默认策略类和默认策略类常量(:范围)
默认\u策略\u类::Scope.new(用户、集合)。解析
其他的
提高e
终止
终止
终止
另一种选择是使用所指出的ActiveSupport::Concern