2

さて、xampp 1.7.7をインストールし、mysqlデータベースとすべてをセットアップしました。phpmyadminのデータベースの名前は「spree-default-1.1_development」で、database.ymlファイルは次のようになります。

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: spree-default-1.1_development
  pool: 5
  username: root
  password:
  socket: /opt/lampp/var/mysql/mysql.sock

「railsconsoledevelopment」と入力すると、コンソールが正常に読み込まれるようです。

adnan@ubuntu:~/Documents/Aptana Studio 3 Workspace/spree-default-1.1$ rails console development
Loading development environment (Rails 3.2.3)
1.9.3-p194 :001 > 

ただし、mysqlデータベース内の何かにアクセスしようとすると、エラーが発生します。

1.9.3-p194 :001 > Order
NameError: uninitialized constant Order
    from (irb):1
    from /home/adnan/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/commands/console.rb:47:in `start'
    from /home/adnan/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/commands/console.rb:8:in `start'
    from /home/adnan/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/commands.rb:41:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

mysqlデータベースのモデルにアクセスできない理由がわかりません。私のセットアップはubuntu11.04で、rails3.2.3とruby1.9.3p194を使用しています。Railsサーバーをaptanaにロードすると、localhost:3000でサーバーを正常に実行でき、データベースに問題なく接続されているようです。

Rails2.3でWindows7セットアップを使用すると、問題なくモデルにアクセスできます。「注文」と入力すると、この結果が得られます。

>> Order
=> Order(id: integer, user_id: integer, number: string, item_total: decimal, total: decimal, created_at: datetime, updat
ed_at: datetime, state: string, token: string, adjustment_total: decimal, credit_total: decimal, completed_at: datetime)

誰が何が起こっているのか知っていますか?単純なRailsクエリを使用してデータベースに正常にアクセスできるはずです。

4

1 に答える 1

6

Spree の現在のバージョン (1.1+) では、Spree オブジェクトの名前空間を指定する必要があります。

>> Spree::Order.first
于 2012-08-02T03:46:18.520 に答える