1

私はこれを文字通り何時間もデバッグしようとしていますが、何の進歩もありません。ORM として DataMapper を使用し、DB システムとして SQLite を使用しています。

DataMapper.setup(:default, 'sqlite:db.sqlite')

私は2つのモデルを手に入れましUserGame. 最初のモデルにフィールドを追加すると、すべて正常に動作します。(Sinatra ルートまたは IRB 経由で)フィールドを追加するとすぐに、GameSinatra へのすべての HTTP 要求がタイムアウトします。静的アセットへのものを含む、それらすべて。IRB ( ) 経由ですべてのデータベース情報にアクセスできますGame.all

データベースを空にして ( DataMapper.auto_migrate!)、サーバーを再起動すると (ショットガン + シン)、すべて正常に動作します。

これに答えるのはおそらく難しいと思いますが、何もエラーがスローされず、これをデバッグする方法がわかりません。正しい方向に向けていただければ幸いです。


それがGameモデルです:

class Game
  include DataMapper::Resource

  property :id, Serial
  property :active, Boolean, default: true
  property :players, Object

  property :name, String, required: true
  property :size, Integer
  property :filled_size, Integer, default: 1
end

SQLite がサポートしていない型を使用しているのかもしれません。

4

1 に答える 1

0

私はついにこれを解決しました!

アプリをherokuにプッシュして、ローカルの問題かどうかを確認しました。Heroku でアプリがクラッシュしたとき、AJAX 要求の応答としてスタック トレースを取得しましたが、ローカルでは取得できませんでした (逆のはずです)。問題はto_json、DataMapper モデルを呼び出していたことです。私は現在dm-serializerを使用していますが、正常に動作します。

于 2013-02-16T16:22:02.420 に答える