Próbuję stworzyć tableless Active Record. Moja user.rb wygląda toJak utworzyć tableless ActiveRecord w Railsach 3
class User < ActiveRecord::Base
class_inheritable_accessor :columns
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
column :name, :text
column :exception, :text
serialize :exception
end
Podczas tworzenia nowego obiektu w kontrolerze
@user = User.new
Dostaję błędu
Mysql2 :: Error: Tabela 'Sampledb.users' nie istnieje: Lista pól z users
Dlaczego musisz tableless Model. Możesz po prostu zamiast tego mieć klasę ruby? A jeśli potrzebujesz funkcji innej niż baza danych i korzystania z Rails3, możesz zobaczyć moją odpowiedź w dół. – ducktyped