Я использую Ruby on Rails 3, и я хотел бы инициализировать модель ActiveRecord Tableless.
В моей модели у меня есть:
class Account < ActiveRecord::Base
# The following ActiveRecord Tableless Model statement is from http://codetunes.com/2008/07/20/tableless-models-in-rails/
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
attr_reader :id,
:firstname,
:lastname,
def initialize(attributes = {})
@id = attributes[:id]
@firstname = attributes[:firstname]
@lastname = attributes[:lastname]
end
end
Если в контроллере, например, вфайл application_controller.rb, я делаю:
@new_account = Account.new({:id => "1", :firstname => "Test name", :lastname => "Test lastname"})
вывод отладки \ проверки переменной @new_account
равен
"#<Account >"
Почему?Как правильно инициализировать эту бесклассовую модель ActiveRecord и заставить ее работать?