Ruby on rails rails可安装引擎-SQLite3::SQLException:没有这样的表

Ruby on rails rails可安装引擎-SQLite3::SQLException:没有这样的表,ruby-on-rails,sqlite,rails-engines,nested-resources,Ruby On Rails,Sqlite,Rails Engines,Nested Resources,我在循规蹈矩。唯一不同的是我使用的是RubyMine IDE。我正在使用ruby 2.5.0和rails 5.1.5 一切都进行得很顺利,直到我到达第4节“挂接到应用程序”。在挂接到应用程序之前,我想测试一切是否正常。我尝试使用引擎视图和rails控制台创建一些文章和评论。我可以创作文章。但我无法创建评论。我收到错误信息: SQLite3::SQLException: no such table: main.articles: INSERT INTO "blorgh_comments" ("ar

我在循规蹈矩。唯一不同的是我使用的是RubyMine IDE。我正在使用ruby 2.5.0和rails 5.1.5

一切都进行得很顺利,直到我到达第4节“挂接到应用程序”。在挂接到应用程序之前,我想测试一切是否正常。我尝试使用引擎视图和rails控制台创建一些文章和评论。我可以创作文章。但我无法创建评论。我收到错误信息:

SQLite3::SQLException: no such table: main.articles: INSERT INTO "blorgh_comments" ("article_id", "text", "created_at", "updated_at") VALUES (?, ?, ?, ?)
我在SQLite的db浏览器中打开了test/dummy/db/development.sqlite3数据库,我确实有一个名为“blorgh_comments”的表

我猜“没有这样的表”错误是某种“下游错误”,即rails由于其他(未命名)错误而无法访问该表

我根据指南、嵌套资源、视图和部分设置迁移。我检查了指南中提到的“特殊文件”,它们都有所需的代码(我不需要更改任何内容)

所以我想问题是,什么样的“潜在”错误可能触发这种错误

感谢您的帮助

======================编辑=================

发动机正在工作,我想我知道原因:

指南告诉我创建一个评论模型,其文章id类型为integer(显然是对父文章的引用),如下所示:

rails g Comment article_id:integer text:text
我没有这样做,而是这样创建了模型:

rails g Comment article:references text:text
正如我在上面的问题中提到的,我无法创建评论。当我按照指南中的说明“重构”应用程序并创建迁移时,它起了作用

因此,我假设生成rails引擎的代码不能识别和/或正确处理t.references指令。具体地说,我怀疑它试图在(迁移的)变更方法中创建索引,而不是在变更方法之后创建索引(如StackOverflow上的许多其他类似性质的问题/解决方案)。如果我是正确的,我认为这是rails引擎实现中的一个bug,但是,我不会这样报告它,因为我没有足够的经验知道这是否真的是这样

========================================另一次编辑=====================

我在@Igor Belo那里找到了这个,它说这是一个名字间隔问题。我可以使用t.references指令,但仍然需要编辑迁移以正确设置外键索引