Modelo sin tablas con asociaciones ActiveRecord en Rails 3.2

La configuración de mi aplicación incluye algunos valores que deben usarse en las relaciones AR. Soy consciente de que es un intento extraño y potencialmente delictivo, pero necesito mantener la configuración como un archivo de texto, y honestamente creo que tengo un buen caso para un modelo sin tablas. Desafortunadamente, estoy teniendo problemas para convencer a AR (Rails 3.2) de que no busque la mesa. Mi modelo sin tablas:

class Tableless < ActiveRecord::Base

  def self.table_name
      self.name.tableize
  end

  def self.columns
    @columns ||= [];
  end

  def self.column(name, sql_type = nil, default = nil, null = true)
    columns << ActiveRecord::ConnectionAdapters::Column.new(name.to_s, default, sql_type.to_s, null)
  end

  def self.columns_hash
    @columns_hash ||= Hash[columns.map { |column| [column.name, column] }]
  end

  def self.column_names
    @column_names ||= columns.map { |column| column.name }
  end

  def self.column_defaults
    @column_defaults ||= columns.map { |column| [column.name, nil] }.inject({}) { |m, e| m[e[0]] = e[1]; m }
  end

  def self.descends_from_active_record?
    return true
  end

  def persisted?
    return false
  end

  def save( opts = {} )
    options = { :validate => true }.merge(opts)
    options[:validate] ? valid? : true
  end
end

Esto se extiende por el modelo real:

class Stuff < Tableless

  has_many :stuff_things
  has_many :things, :through => :stuff_things

  column :id, :integer
  column :name, :string
  column :value, :string

  def initialize(attributes = {})
    attributes.each do |name, value|
      send("#{name}=", value)
    end
  end
end

Todo esto está basado en el código encontradoaquí en SO yen otra parte, pero ay, me saleSQLException: no hay tal tabla: cosas: ¿Alguna pista alguna?

Respuestas a la pregunta(2)

Su respuesta a la pregunta