Probleme beim Erstellen eines generischen Modells in Ruby on Rails 3

Ich versuche, ein "generisches Modell" zu erstellen, damit es eine Verbindung zu einer beliebigen Tabelle einer beliebigen Datenbank herstellen kann. Zuerst habe ich diese Klasse erstellt, die eine Verbindung zu einer anderen angegebenen Datenbank herstellt (ohne das Schema zu verwenden).

Db

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

Dann habe ich diese Klasse erstellt, die von Db erbt und den Tabellennamen angibt

Gmodel

class Gmodel < Db

    def initialize(new_table_name)
        ActiveRecord::Base.set_table_name(new_table_name)
        super
    end

end

Schließlich in der Steuerung

Hauptcontroller

class MainController < ApplicationController

  def index
    @users = Gmodel.new("users")
  end

end

Aber es gab mir diesen Fehler:

undefined method `stringify_keys' for "users":String

Was könnte falsch sein? Gibt es einen besseren Weg, dies zu tun? Danke im Voraus!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage