2011-08-08 10 views
0

私は239ページの "agile web development with rails 4th ed。"の239ページにあります。ブラウザにlocalhost:3000を指しているタブが1つあり、正常に動作します。別のタブには、 "depot.thefonso.com" をポイントし、私はこのエラーを取得しますStoreController#indexのActiveRecord :: StatementInvalid

"のActiveRecord :: StatementInvalid StoreControllerで#インデックス"

するSQLite3 ::のSQLException:いいえ、そのような表:製品:SELECT「製品製品 "タイトル

Rails.root BY ORDER」* FROM。":/ユーザー/ギデオン/デスクトップ/ Rails_work /デポ

...

アプリ/コントローラ/ store_controller.rb:7:中`index '

ここでは3210

@products = Product.all 

は、任意の第一人者が正しい方向に私を指すことができます.... store_controller.rbでライン7のですか? HERE

はこの問題は、それがローカルに動作するかどうか、それが最も可能性が高いだけで設定の問題ですので、Railsはテーブルを見つけることができないということであるMY database.ymlの

# SQLite version 3.x 
# gem install sqlite3 
    development: 
    adapter: sqlite3 
    database: db/development.sqlite3 
    pool: 5 
    timeout: 5000 

# Warning: The database defined as "test" will be erased and 
# re-generated from your development database when you run "rake". 
# Do not set this db to the same as development or production. 
test: 
    adapter: sqlite3 
    database: db/test.sqlite3 
    pool: 5 
    timeout: 5000 

production: 
    adapter: sqlite3 
    database: db/production.sqlite3 
    pool: 5 
    timeout: 5000 

答えて

0

cap deploy:migrations(237ページの指示に従って)を実行しましたか?

現象から、データベースに定義された製品テーブルがありません。また、sqlite3からmysqlに変更していないことにも気付くでしょう。

あなたの二台のマシン上で以下のコマンドを実行し、生産のスキーマを比較してください:

sqlite3 db/development.sqlite3 .schema 

sqlite3 db/production.db .schema 
+0

ええと、私はpdf版を持っていますし、 "cap deploy:migrations"はこの章(235)の始めからpag 240までリストされていません...いいえそれの言及。好奇心。 – thefonso

+0

PDFページ番号を使用している場合は、そのまま続行してください! :-)次のステップは、あなたのデータベースをセットアップすることです。 –

+0

私は現在142ページ(pdf版)にあります。私は "Deploy Aviation with Capistrano"にいます。私のgemfileで 'mysql2'、 '0.2.7'を使い、mysqlをdatabase.ymlのmysql2に変更した後、 "rake db:setup RAILS_ENV =" production "というコマンドをエラーなしで実行することができました。ほとんどの場合、 "depot_productionは既に存在する"と言われましたが、pdfテキストの241ページに示されているように進んでいます。ちょうどキックのために私はあなたがスキーマについて言及した2つのコマンドを実行しました。 "sqlite3 db/production.db .schema"は何も生成されません...ただ空白です。最初のコマンドが出力を生成していました。 – thefonso

0

です。

depot.thefonso.comで実行されているアプリケーションのdatabase.yml設定を確認してください。これは、おそらくlocalhostのデータベースを探していて、リモートサーバー上でそれを見つけることができません。

+0

うーん、それは物理的なファイルは、今と同じ場所に配置されていることです。私はIteration K1の "deployment"にあります。このエラーは、私がどこにいるのが普通かわかりません。テキストは、実際にはアプリケーションが正常に動作している必要があることを示しています。 – thefonso

関連する問題