问题标签 [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 回答
617 浏览

ruby-on-rails - CanCan 嵌套资源索引操作授权

我有帖子,在提要中。

为了能够查看提要中的帖子,必须在提要中。

在我的路线中,帖子嵌套在提要下。

在我的 PostsController 中,我有:

对应能力:

出于某种原因,所有用户都通过了授权。我将如何解决这个问题?

0 投票
1 回答
594 浏览

ruby-on-rails - Cancan 并为 :create 使用 has_many 关系

一本书有_许多章节。一个用户有_many 的书。

我正在使用 devise 和 cancancan,并且我希望允许用户:为他们拥有的任何书创建一个章节。我的问题是,一章不属于一本书,直到它存在于能力.rb中 -

很好,但是在 :create 上使用 this 会抛出一个 nil 方法,因为在创建对象之前,它没有任何属性。我已经在控制器中的创建操作中进行了检查-

...这很好,但必须有更好的方法,对吧?

0 投票
1 回答
1323 浏览

ruby-on-rails - 测试 CanCanCan 能力定义

我正在将 CanCanCan 与 Rolify 一起使用,并且正在尝试测试我的能力类授权。

测试非特权用户是否可以CRUD在系统中的其他用户测试失败

但是我找不到任何原因导致我的能力类中的检查失败:

这是我的规格:

0 投票
1 回答
483 浏览

ruby-on-rails - cancancan + 设计:处理超时异常

在我的 rails 3 应用程序中,我使用的是 devise 3.2.4 和 cancancan 1.9.2。我的问题是关于可以正常工作的可超时设计模块,但我无法挽救正确的异常,以便我可以向用户显示正确的通知。

我的application_controller.rb包含:

每当会话到期时,我都可以CanCan::AccessDenied使用消息挽救一个通用异常您无权访问此页面,但我想捕获一个可超时的设计(我猜)异常,以便我可以显示默认的设计消息:您的会话已过期. 请重新登录以继续

任何想法?

0 投票
1 回答
366 浏览

ruby-on-rails - 使用 cancancan 授权查看用户不访问 rails4 应用程序中的某些页面

我使用 Devise 进行身份验证,使用 cancancan 进行授权。现在我不想让查看用户访问某些页面。所以我添加了以下代码。但它会为 # 错误抛出未定义的局部变量或方法 `current_user'。

我的能力.rb

Application_controller.rb

仪表板_用户_控制器.rb

0 投票
1 回答
215 浏览

ruby-on-rails - rails4中未定义的方法“total_pages”错误

我使用 Devise 进行身份验证,使用 cancancan 进行授权。cancancan 对于某些控制器工作正常,但对于某些屏幕会引发未定义的方法错误。

评估控制器.rb

https://gist.github.com/anonymous/9ccee7be3e7fa2df2bca

我的看法。 https://gist.github.com/anonymous/272e6cc05e01d526ef0a

我得到的错误是 http://imgur.com/1qyHen1

0 投票
2 回答
744 浏览

ruby-on-rails - 多个设计用户或一个用户和 CanCanCan 的权限?

实现具有不同属性和行为的两类用户(客户、管理员)的首选方法是什么?

拥有由 Devise 创建的两种类型的用户,还是只有一种用户模型并通过 CanCanCan 设置权限?

谢谢

0 投票
2 回答
153 浏览

ruby-on-rails - CanCan 和 ActiveRecord 关联

我的 Ability.rb 中有以下行

在调用_controller.rb

在模型 call.rb

然而,当我尝试在视图中访问 @calls 时,出现以下 SQL 错误

这是因为 SQL 查询应该有“WHERE stores. area_id= 4”。这是 CanCan 的问题还是我的设置有问题?我正在使用 CanCan 2.0,仅供参考。

0 投票
1 回答
421 浏览

ruby-on-rails - CanCan(Can) 和 Activeadmin:嵌套关系索引

我将 CanCan(Can) 与 ActiveAdmin 一起使用。但是,我很难让 CanCan(Can) 在索引上正常工作,以实现“has_many through”关系。

基本上我的发票模型看起来像这样

我的订单模型是这样的

我的用户模型是这样的

我的能力是这样定义的

可以 :read, Invoice, :user => adminuser.user

这适用于个人发票。所以正确的用户可以看到这个 URL :3000/admin/invoices/1 而其他用户会得到一个未授权的错误。

然而,在指数列表中,它完全向南。:3000/admin/invoices/ 返回错误信息

Mysql2::Error: Unknown column 'invoices.user_id' in 'where clause': SELECT COUNT(count_column) FROM (SELECT 1 AS count_column FROM invoices WHERE invoices. user_id= 2 LIMIT 30 OFFSET 0) subquery_for_count

显然这是完全错误的,因为 CanCan(Can) 正在查看错误的表格。如何设置 ActiveAdmin 和 CanCan(Can) 以使用“通过”查找索引上的这种关系?我试过添加

到“ActiveAdmin.register Invoice”的控制器,但没有区别。

任何建议将不胜感激!

0 投票
1 回答
2334 浏览

ruby-on-rails - cancancan 自定义操作不起作用

我在我的应用程序中使用 cancancan 和 activeadmin gem,在 cancan gem 中,自定义操作不起作用。

能力.rb

我的活动管理文件

两个角色都显示拒绝的范围和链接到“批准”。如何解决这个问题。