Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails cancan(can)无法识别测试数据库中的数据_Ruby On Rails_Cancan_Cancancan - Fatal编程技术网

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调用,而是一个
创建
,导致它不显式地包含验证错误