Ruby on rails Rails cancan(can)无法识别测试数据库中的数据
我有一个彻底的Ruby on rails Rails cancan(can)无法识别测试数据库中的数据,ruby-on-rails,cancan,cancancan,Ruby On Rails,Cancan,Cancancan,我有一个彻底的能力。rb定义正常工作。然而,当我编写向端点发送请求的控制器规范时,cancan(can)会重复返回403 在我的ability.rb中,在处理我正在测试的端点的相应部分,当输出{Model}.all.to_json时,它输出一个空数组 如何修复此问题,使其能够识别测试数据库中的数据,或将测试更改为绕过此问题?测试数据库中的数据将在每次迭代时重置。如果要使用某些特定状态(例如数据),则必须在测试中重新创建该状态 根据测试框架的不同,在执行测试之前,使用before或setup钩子在
能力。rb
定义正常工作。然而,当我编写向端点发送请求的控制器规范时,cancan(can)会重复返回403
在我的ability.rb
中,在处理我正在测试的端点的相应部分,当输出{Model}.all.to_json
时,它输出一个空数组
如何修复此问题,使其能够识别测试数据库中的数据,或将测试更改为绕过此问题?测试数据库中的数据将在每次迭代时重置。如果要使用某些特定状态(例如数据),则必须在测试中重新创建该状态
根据测试框架的不同,在执行测试之前,使用
before
或setup
钩子在测试套件中创建所需的数据。在深入查看我的代码之后,我意识到我没有通过fixture创建的一位数据没有通过验证,因此没有被创建
我的测试环境设置正确,但我没有创建create代码>调用,而是一个创建
,导致它不显式地包含验证错误