2011-02-17 65 views
4

HI,的ActiveRecord :: StatementInvalid:PGError:ERROR:关系 “说明” 不存在

当我测试我的Rails应用程序我得到这个错误。我没有名为'说明'的表。但它显示“错误:关系”指令“不存在”的错误。总的来说,我在64次测试中得到了与64次错误相同的错误。

我用的导轨3.0,红宝石1.9.2,Netbeans的6.8。

PS:我没有为Rails应用科瑞说明书。

错误: test_should_get_index(HomeControllerTest): 的ActiveRecord :: StatementInvalid:PGError:ERROR:关系 “说明” 不存在 LINE 1:DELETE FROM “指令” ^ :DELETE FROM “指令”

请帮我在这方面

回答

16

您可能需要运行rake db:test:prepare,该表指示不存在在你的测试数据库。

+1

注意:CREATE TABLE/PRIMARY KEY将创建隐式索引 “gold_strain_assignments_pkey” 为表 “gold_strain_assignments” 发起者 EEEEEEEEE 在0.147813秒成品。 1)错误: test_the_truth(InstructionTest): 的ActiveRecord :: StatementInvalid:PGError:ERROR:关系 “taxonomic_links” 不存在 LINE 1:DELETE FROM “taxonomic_links” – 2011-02-17 11:44:04

+0

它显示了上面的错误,在此之前我的数据库有许多表“rake db:test:prepare”进程删除了测试数据库中的一些表。我很奇怪。 – 2011-02-17 11:45:42

9

检查您的灯具。当使用Rails脚手架生成一个子类资源时,我遇到了这样的错误。

发电机创造了在我的测试/夹具/目录中的文件是不符合任何实际的表在我的数据库(因为该模型用在另一个表STI)。

当运行测试时,Rails试图实例化了我所有的灯具,当它找不到一个表匹配的灯具的名称产生类似你的错误。

删除不需要的灯具文件清除我的错误,并得到了测试运行。

希望帮助你,或者别人谁抵达这里寻找的错误,像我一样。 :]