问题标签 [pundit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
78 浏览

ruby-on-rails - where 对相关记录的约束

我没有关于如何确定 Active Record 查询范围的概念(那里没有什么新东西)。我只想接收相关记录中存在特定条件的记录。我的例子恰好是多态的,以防万一。我确定在某个地方可以解释这一点,但无论出于何种原因我都没有找到它。

我的模型:

我想基本上在 Member 类上为具有特定 owner_id/owner_type 的相关记录运行 where。

假设我们有 5 个 ID 为 1-5 的成员,我们有一个用户的 owner_id 设置为 3,而 owner_type 设置为“成员”。我只想接收一个 ID 为 3 的 Member 对象。我试图在 Pundit 中运行它,因此我不只是从用户端开始。

一如既往地感谢您的帮助!!!

0 投票
1 回答
1690 浏览

ruby-on-rails-4 - Rails/Pundit ArgumentError(参数数量错误(2 代表 0))

一天以来,我一直在反对这一点。我正在尝试为属于具有许多设计的用户的名为 Design 的模型实施权威策略(使用 Devise 进行身份验证)。create 和 new 是否也应该在操作后进行授权?看来这应该可行。非常感谢帮助

我不断地遇到

ArgumentError(参数数量错误(0 为 2)):

创建新设计时(“调试器”所在的位置)。我认为它将有效的@design 传递给策略查找器。这可能是我在策略中设置范围的方式。

这是设计控制器:

这是设计策略类

0 投票
2 回答
2746 浏览

ruby-on-rails-4 - 在一个控制器上跳过专家范围

我想跳过Pundit 在一个控制器(家庭)上的policy_scope要求。我试过这个:

但我认为控制器尚未定义或什么?有什么想法或建议吗?

0 投票
1 回答
1582 浏览

ruby-on-rails - 权威人士:未定义的方法“授权”

我正在尝试使用 Pundit 来验证对一些不需要数据库交互的静态视图的访问:

以下是我的静态策略。该home?策略始终返回 true,因此我应该能够访问主视图。

相反,我得到了这个:

如果我授权模型,Pundit 可以完美运行:

但是,如果我尝试在不使用模型的操作之外使用授权方法,我会得到:

0 投票
1 回答
177 浏览

ruby-on-rails - 从 gem 访问 current_user

您可能听说过 Pundit。https://github.com/elabs/pundit基本上,它是一个授权宝石。

我想知道的是,它如何访问current_user其类中的变量?

我不知道怎么做,但是@user两者user都等于current_user

我们在这个类中也有 post 变量。我们可以通过运行来访问它

在一个动作中。

要安装 Pundit,您需要将模块包含到应用程序控制器中:

但是,我仍然看不到该类如何“查询” current_user 的控制器以及授权如何将变量(post)提供给该类。请回答这两个问题:)

0 投票
3 回答
1519 浏览

ruby-on-rails - Rspec 规范失败 - RSpec::ExampleGroups::UserPolicy:Class (NoMethodError) 的未定义方法“权限”

我正在安装具有 Pundit 授权的应用程序,当我尝试运行 RSpec 测试时,我得到:

0 投票
3 回答
2113 浏览

ruby-on-rails-4 - 多次调用使用 Pundit 并获取渲染和/或重定向

当权威人士不允许用户查看带有授权规则的页面时,我收到以下错误:

在此操作中多次调用渲染和/或重定向。请注意,您只能调用渲染或重定向,并且每个操作最多调用一次。另请注意,重定向和渲染都不会终止操作的执行,因此如果您想在重定向后退出操作,则需要执行“redirect_to(...) and return”之类的操作。

这是application_controller.rb

stat_policy.rb

stats_controller.rb:

0 投票
2 回答
392 浏览

ruby-on-rails - Trying to make user authorization more DRY with pundit

I am using pundit to handle authorizations in a ruby on rails app and I want to see if the user who is logged in can moderate before showing delete and edit buttons for posts, comments, etc.

Here's the original working method in post policy, comment policy etc

Here's the new method I added to application policy

Here's the DRYer post policy I'm working on

This DRYer version gives me an undefined error method for can_moderate. Any thoughts on why?

Thanks!

EDIT TO ADD FULL ERROR

0 投票
3 回答
1239 浏览

ruby-on-rails - 使用 Pundit 检查变量是否存在

我真的很喜欢让我的策略负责确保所有变量都被填充和有效的想法,所以我们不会得到任何 nil:nilClass 错误或类似错误。

我认为确保用户使用策略上传文件会很好:

这是我的创建操作:

这是它的政策:

但是,我收到以下意外错误:

当文件为零时:

当文件不为零时:

那么我应该如何检查权威人士是否存在某些东西?

0 投票
2 回答
4393 浏览

ruby-on-rails-4 - Why is Pundit not coupled with Rolify like CanCanCan is?

I am using Devise and interested in using Pundit but cannot find much on if it should be integrating with Rolify or if it is stand alone. CanCanCan works nicely with Rolify and I like the roles model. Am I missing a major reason why Pundit and Rolify do not seem to be used together a lot?