Rails 4 - 从外部MySQL中提取数据

时间:2016-05-17 20:12:04

标签: mysql ruby-on-rails ruby ruby-on-rails-4

我正在尝试将外部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: uninitialized constant PrimoDatabase

  • 如果我运行ActiveRecod::Base.connection?,则会返回false

我知道我做错了所以我会感激任何帮助。

已编辑 - 请回答我的理解

1 个答案:

答案 0 :(得分:0)

好吧,我知道我在哪里犯了错误。

  • 该文件必须像该文件中的类一样命名,因此对我而言:account.rb和类Account < PrimoDatabase
  • 然后应该在require '*.rb'
  • 的课程lib之前
  • 然后我必须添加self.table_name = 'account'来指定表格
  • 请求连接Account.connection

然后我就可以连接到DB并从那里提取数据了。 希望对某人有所帮助。

编辑我的问题以纠正答案