activeadmin 自定义页面上的 Pundit 授权
Pundit authorization on activeadmin custom page
在具有 activeadmin gem 的 Rails 4 应用程序(当前主分支)中,我使用 Pundit 进行授权。它适用于资源,但我无法让它适用于页面。
例如:
ActiveAdmin.register_page "Home" do
content do
para "some text"
end
end
如何为特定用户授权?
通过阅读 Pundit 自述文件,我尝试使用以下代码,但它不起作用
class HomePolicy < Struct.new(:user, :home)
def index?
true
end
def show?
true
end
end
有什么想法吗?
这是我用于仪表板的示例策略。我把它放在 policies/active_admin/page_policy.rb
下了。也许这可能会有一些帮助
class ActiveAdmin::PagePolicy
attr_reader :user, :record
def initialize(user, record)
@user = user
@record = record
end
def show?
case record.name
when 'Dashboard'
true
else
user.admin?
end
end
end
在具有 activeadmin gem 的 Rails 4 应用程序(当前主分支)中,我使用 Pundit 进行授权。它适用于资源,但我无法让它适用于页面。
例如:
ActiveAdmin.register_page "Home" do
content do
para "some text"
end
end
如何为特定用户授权?
通过阅读 Pundit 自述文件,我尝试使用以下代码,但它不起作用
class HomePolicy < Struct.new(:user, :home)
def index?
true
end
def show?
true
end
end
有什么想法吗?
这是我用于仪表板的示例策略。我把它放在 policies/active_admin/page_policy.rb
下了。也许这可能会有一些帮助
class ActiveAdmin::PagePolicy
attr_reader :user, :record
def initialize(user, record)
@user = user
@record = record
end
def show?
case record.name
when 'Dashboard'
true
else
user.admin?
end
end
end