我正在尝试将外部 MySQL 数据库连接到 Rails 4 并从那里读取数据。那么到目前为止我做了什么:
- 在
lib/primo_db.rb
中创建 - 创建模型
models/accountstatus.rb
primo_db.rb
require 'active_record'
require 'mysql'
class PrimoDatabase < ActiveRecord::Base
self.abstract_class = true
establish_connection(
:adapter => 'mysql',
:database => '...',
:host => '...',
:username => '...',
:password => '...'
)
end
account.rb
require 'primo_database'
class Account < PrimoDatabase
self.table_name = 'account'
def self.getdata
end
end
我的问题是:
如何在控制台中测试它们之间的连接,因为当我在rails控制台中运行
Accountstatus.getdata
时,我收到此错误NameError:未初始化的常量PrimoDatabase
如果我运行
ActiveRecod::Base.connection?
它会返回false
我知道我做错了,因此我将不胜感激任何帮助。
已编辑 - 请参阅下面的答案以了解我做了什么
最佳答案
好吧,我知道我哪里做错了。
- 该文件必须像该文件中的类一样命名,所以对我来说:
account.rb
和类(class)Account < PrimoDatabase
- 那么课前应该有
require '*.rb'
来自lib
- 然后我必须添加
self.table_name = 'account'
指定表 - 连接请求是
Account.connection
这样我就可以连接到数据库并从那里提取数据。 希望它对某人有帮助。
编辑了我的问题以得到正确答案
关于mysql - Rails 4 - 从外部 MySQL 提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37285422/