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

当我输入“rails console development”时,它似乎可以很好地加载控制台:

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 数据库中的模型。我的设置是在 ubuntu 11.04 中,使用 rails 3.2.3 和 ruby​​ 1.9.3p194。当我在 aptana 中加载 rails 服务器时,我可以使用 localhost:3000 正常运行服务器,并且似乎连接到数据库没有问题。

当我使用带有 rails 2.3 的 Windows 7 设置时,我可以毫无问题地访问模型。输入“订单”会给我这个结果,我期望:

>> 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 回答