Этот Railscast описывает, как настроить модель без таблиц в Rails 3, как в:
class Message
include ActiveModel::Validations
include ActiveModel::Conversion
extend ActiveModel::Naming
attr_accessor :name, :email, :content
validates_presence_of :name
validates_format_of :email, :with => /^[-a-z0-9_+\.]+\@([-a-z0-9]+\.)+[a-z0-9]{2,4}$/i
validates_length_of :content, :maximum => 500
def initialize(attributes = {})
attributes.each do |name, value|
send("#{name}=", value)
end
end
def persisted?
false
end
end
Это работает довольно хорошо, но то, что он не делает, позволяет Rails знать, какие типы атрибутов. Это означает, что в то время как различные плагины / библиотеки работают, они склонны возвращаться к эффективному восприятию атрибутов как «любого» типа. Например, to_xml перечисляет их как тип 'yaml'.
Есть ли способ сообщить Rails, какие типы атрибутов есть в моделях Tableless?