Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Db < ActiveRecord::Base
- self.abstract_class = true
- attr_accessor :error
- def initialize(item = nil)
- @error = ""
- connect
- super
- end
- def connect
- could_connect = true
- @error = ""
- begin
- ActiveRecord::Base.establish_connection(
- :adapter => "mysql2",
- :host => "localhost",
- :username => "root",
- :password => "",
- :database => "another_database",
- :port => 3306,
- :encoding => "utf8"
- )
- rescue ActiveRecord::ConnectionNotEstablished
- @error = "Could not connect to database. The connection was not established"
- could_connect = false
- rescue Mysql2::Error
- @error = "Could not connect to database using MySQL2"
- could_connect = false
- rescue => e
- @error = "Could not connect to database. #{e.message}."
- could_connect = false
- end
- return could_connect
- end
- end
- class Gmodel < Db
- def initialize(new_table_name)
- ActiveRecord::Base.set_table_name(new_table_name)
- super
- end
- end
- class MainController < ApplicationController
- def index
- @users = Gmodel.new("users")
- end
- end
- undefined method `stringify_keys' for "users":String
- t = 'some_table'
- c = Class.new(ActiveRecord::Base) { self.table_name = t }
- o = c.find(1)
- # 'o' is now a wrapper for the row of some_table where 'id = 1'
- cols = c.columns.map(&:name)
- # 'cols' is now an array of some_table's column names
- t = 'some_table'
- d = 'some_other_database'
- c = Class.new(ActiveRecord::Base) do
- establish_connection(:adapter => 'mysql2', :database => d, ...)
- self.table_name = t
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement