これは、「テーブルのないレール 3.1 モデル」を検索したときの Google での最初の結果の 1 つであるため、より多くの回答が得られると思います。
ActiveRecord::Base を使用せずに同じことを実装し、ActiveRecord::Validations を含めました。
主な目標は、すべてを formtastic で機能させることでした。以下に、どこにも保存されないが、誰もが知っていて愛用している検証を使用して検証できるサンプル支払いを含めました。
class Payment
include ActiveModel::Validations
attr_accessor :cc_number, :payment_type, :exp_mm, :exp_yy, :card_security, :first_name, :last_name, :address_1, :address_2, :city, :state, :zip_code, :home_telephone, :email, :new_record
validates_presence_of :cc_number, :payment_type, :exp_mm, :exp_yy, :card_security, :first_name, :last_name, :address_1, :address_2, :city, :state
def initialize(options = {})
if options.blank?
new_record = true
else
new_record = false
end
options.each do |key, value|
method_object = self.method((key + "=").to_sym)
method_object.call(value)
end
end
def new_record?
return new_record
end
def to_key
end
def persisted?
return false
end
end
今日これを理解しようと数時間を費やしたので、これが誰かの助けになることを願っています。