好的,所以我安装了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查询来访问数据库。
答案 0 :(得分:6)
在当前版本的Spree(1.1+)中,您需要命名spree对象。
>> Spree::Order.first