Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 具有名称空间的权威策略_Ruby On Rails 4_Namespaces_Authorization_Pundit - Fatal编程技术网

Ruby on rails 4 具有名称空间的权威策略

Ruby 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 类问题

我的应用程序中有问题模型

app/models/question.rb

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