0

最近、Rails アプリケーションを Authlogic を使用するように更新しました。認証は開発モードで正常に機能しますが、テストは機能しなくなりました。を使用して rspec を起動するたびbundle exec rake specに、アプリケーションは次のエラー メッセージをスローします (省略されています)。

/home/user/.rvm/gems/ruby-1.9.3-p194/gems/authlogic-3.1.3/lib/authlogic/acts_as_authentic/base.rb:31:in `acts_as_authentic': You must establish a database connection before using acts_as_authentic (StandardError)
    from /home/user/Documents/projects/rails_demo/app/models/user.rb:6:in `<class:User>'
    from /home/user/Documents/projects/rails_demo/app/models/user.rb:2:in `<top (required)>'
    from /home/user/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require'

データベース接続が確立されていないことに関係があることは知っていますが、それを修正するために何をしなければならないかわかりません。それは開発で動作します。

ちなみに、これは私のデータベース構成です:

test:
  adapter: sqlite3
  database: ":memory:"

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

問題を解決するために何をしなければならないかについて、誰かが私にガイダンスを提供してくれますか? どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

0

申し訳ありませんが、自分の質問に答えます。私はこれをもっと早く発見するべきでした。テスト環境のデータベース構成をこれに変更して問題を解決します。

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

それでも、Authlogic がメモリ内の sqlite3 データベースで動作しない理由はわかりません。

于 2012-07-13T10:35:13.950 に答える