2009-03-13 10 views
6
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' 
... 

を見つけしかし、確かにそれがデータベースにありますように思えることができませんでした:私はちょうど私のすべての宝石を更新しましたのActiveRecord :: StatementInvalid:テーブル「テーブル名」

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

など間違って何が起こっています?

+0

これは記事を探していますが、著者を確認しています。 –

+0

'Article'モデルでは、 'articles'テーブルを探すべきです。どこでも 'set_table_name'を呼び出しましたか?そしてあなたのコンソールの例は 'author'テーブル(おそらく 'articles'であるはずです)にあります。 –

+0

Ooops、それはちょうど愚かなタイプミスでした。私はアーティクルのSQLで正の数を持ち、Author.count()でコンソールに同じエラーがあります。 – hadley

答えて

0

Sarah Meiはコメントで既に指摘したように、「記事」ではなく「著者」を手動でチェックしています。

ただし、ここには他のものもあります。あなたのモデルで意図的にテーブル名を「記事」に設定しましたか?デフォルトでは、それは "記事"(複数形)の表を探しているはずなので、私たちが見ていないより多くのコードがあると思われます。

+0

はい、テーブル名はarticleですが、environment.rbにはActiveRecord :: Base.pluralize_table_names = falseがあります(私のテーブル名は全て単数です) – hadley

関連する問題