ActiveRecord :: StatementInvalid:找不到表'tablename'

时间:2009-03-13 21:29:21

标签: ruby-on-rails sqlite

cis.statbib.org: script/console 
Loading development environment (Rails 2.2.2)
Article.founc>> Article.count()
ActiveRecord::StatementInvalid: Could not find table 'article'
    from /home/hadley/web/cis.statbib.org/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb:29:in `table_structure'
    from /home/hadley/web/cis.statbib.org/vendor/rails/activesupport/lib/active_support/core_ext/object/misc.rb:39:in `returning'
...

但它似乎确实存在于数据库中:

db: sqlite3 development.sqlite3 
SQLite version 3.2.8
sqlite> select count(*) from author;
168600

我刚刚更新了所有的宝石,等等。出了什么问题?

2 个答案:

答案 0 :(得分:2)

这似乎是由ActiveRecord中的错误http://rails.lighthouseapp.com/projects/8994/tickets/99-sqlite-connection-failing引起的。按照该链接中的描述修补文件修复了问题。

答案 1 :(得分:0)

正如Sarah Mei在评论中已经指出的那样,你手动检查“作者”而不是“文章”。

然而,其他一些东西也可能在这里。您是否故意将表名设置为模型中的“文章”?默认情况下,这应该是寻找“文章”(复数)表,所以我怀疑有更多的代码,我们没有看到哪些可能导致麻烦。