无法在Rails控制台中访问模型

时间:2012-05-09 17:10:03

标签: ruby-on-rails-3

好的,所以我安装了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
=> 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查询来访问数据库。

1 个答案:

答案 0 :(得分:6)

在当前版本的Spree(1.1+)中,您需要命名spree对象。

>> Spree::Order.first