问题标签 [cancancan]

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 回答
189 浏览

ruby-on-rails-4.1 - 控制器中的回调之间的混淆?

我的控制器类有两个之前的回调,一个来自 gem cancancan,另一个来自 rails:

现在我的问题是:
1)这些回调的顺序是否正确?

2)'load_and_authorize_resource'如何加载实例变量(意味着实例变量的名称是什么?如果我想给实例变量一个自定义名称怎么办?

3)在上面的回调中,第二个是覆盖load_and_authorize_resource加载的实例变量还是创建自己的集合,如果我们为实例变量提供自定义名称会发生​​什么。(比如“@com=Company.find(params[:id])”而不是“@company=Company.find(params[:id])”)。

对不起 !!!如果问题没有意义,我是 Rails 新手。希望你的回答能让我更好地理解这个问题。快乐编码。

0 投票
3 回答
86 浏览

ruby-on-rails - 如何限制用户搜索视图中的特定模型?

我正在工作的应用程序具有不同的用户角色客户、项目经理和超级用户,并且在登录页面上他们可以搜索文章,并且有一个高级过滤器可以在搜索后过滤掉记录。喜欢:按作者过滤。

我想为客户隐藏高级过滤器,因为我想使用cancancan定义能力。

目前我正在使用模型方法来做这件事。这些方法根据用户类型返回真假。

当前代码:

我想删除它并使用 cancancan 代替它。

为此,我尝试了

但这限制了所有用户进行过滤。

0 投票
2 回答
1135 浏览

ruby-on-rails - CanCanCan 方法中的复杂条件

如果我有如下用户、客户端和请求模型:

我使用用户模型进行 CanCanCan 身份验证。内部能力类我想为客户指定能力。我想让用户只允许阅读,更新属于他的请求。她是我尝试的:

0 投票
4 回答
372 浏览

ruby-on-rails - Cancancan 默认角色

我正在构建具有一些角色\能力分离的 Rails 应用程序。我决定使用 cancancan + devise,但我不知道如何设置标准用户角色?

0 投票
1 回答
241 浏览

ruby - 如何获取 current_user 的 cancancan 能力列表?

如何在 Rails 应用程序中使用 cancancan 获得 current_user 的所有功能?我看过这个话题https://github.com/CanCanCommunity/cancancan/pull/221,但谁知道会不会合并。

0 投票
1 回答
612 浏览

ruby-on-rails - CanCanCan 不会阻止用户索引页面的访问

我想阻止未登录的用户使用 CanCanCan 访问 URL

http://localhost:3000/users

我的能力模型是

我的用户控制器是

当我以访客用户身份访问该页面时。我在我的应用程序控制器中看到了用户索引页面,而不是被此代码重定向到登录

CanCanCan 工作并停止对控制器中其他操作的访问,而不是用于索引。

0 投票
2 回答
83 浏览

ruby-on-rails - 康康康针对特定情况的能力

我将cancancangem 用于基于角色的授权规则。我需要执行以下操作:

这意味着用户可以阅读状态 = 1 的帖子。我该怎么做?

0 投票
2 回答
151 浏览

ruby-on-rails - 为什么我的测试尝试呈现不同且无效的路线?

我有一个测试试图查看不存在的订阅。我和我的灯具中的一群用户一起运行这个测试。对于具有管理员角色的用户,当应用程序达到尝试呈现响应的程度时,它已将操作从更改:show:edit并删除了id参数。然而,当我尝试使用 byebug 来跟踪执行时,我似乎永远无法确定它何时发生。

我的测试是:

u从我的固定装置加载的用户在哪里。

我得到的错误是:

我的控制器看起来像这样:

load_and_authorize_resource来自康康康。

我与此测试相关的路线是:

我真的不知道从这里去哪里,所以任何建议将不胜感激。

0 投票
0 回答
56 浏览

ruby - 如何将一个 gem 的规格包含到另一个 gem 的测试套件中

我正在尝试构建一个 gem,为另一个 gem 添加一些方法。在这种情况下,我正在构建的宝石是cancancan。我担心,因为我将在 CanCan::Ability 模块中包含与现有 CanCan 组件交互的新方法,所以我可能会破坏 CanCan 代码中的严重问题,否则可能会在 rspec 测试中捕获。理想情况下,在我的 gem 修改了 CanCan::Ability 模块之后,可以在我的 gem 的测试套件中运行现有的 cancancan 测试套件。

我将如何将 cancancan 测试套件包含到我自己的 gem 中,以便除了我自己的测试之外,我还可以运行 cancancan 的测试?

0 投票
2 回答
3404 浏览

ruby-on-rails - 未定义的方法“管理员?” 为了 #

我正在使用gem 'devise'and'cancancan'为每个用户定义许多角色。问题是当我运行 rails server 它说undefined method admin?

在 application_controller.rb 文件中:

在 user.rb 文件中:

在ability.rb 文件中:

任何想法 ??