【发布时间】:2013-06-23 04:51:19
【问题描述】:
我有一个现有的远程 mysql 数据库,我正在尝试从我的 rails 应用程序访问它我的 database.yml 中有这个 发展:
development:
adapter: mysql2
encoding: utf8
database: mydb
username: myusername
password: !@#$%@!
host: IP for my DB
port: 3306
pool: 5
socket: /tmp/mysql.sock
timeout: 5000
当我在 Rails 控制台中运行以下命令时
ActiveRecord::Base.connection.tables
它列出了所有可用的表,但是当我尝试访问模型时,它给了我以下错误:
City
NameError: uninitialized constant City from (irb):12
from /home/shreyas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.11/lib/rails/commands/console.rb:47:in `start'
from /home/shreyas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.11/lib/rails/commands/console.rb:8:in `start'
from /home/shreyas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.11/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
有什么建议我做错了吗?我想访问我的应用程序中的远程数据库,到目前为止我还没有创建任何模型。我需要创建所有模型吗?我可以在我的 schema.rb 文件中看到完整的数据库结构。
【问题讨论】:
-
这看起来不像是 mysql 错误,显示你的模型
-
当我尝试访问我的 DB 表时,这不是 mysql 错误。 Like City 是表名,所以当我尝试访问 city.first 或任何内容时,它会显示上述错误。
-
我可以看看你的城市模型
-
它是一个远程数据库。我还没有创建它。
-
如果你能分享你的城市模型(app/models/city.rb)会更好
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2 rails-console