アプリでは、3種類の連絡先フォームがあります-モデルでは-属性:aaa, :bbb, :ccc
は2番目の連絡先フォームに属し、前の属性は最初の連絡先フォームに属します。
class Message
include ActiveModel::Validations
include ActiveModel::Conversion
extend ActiveModel::Naming
attr_accessor :name, :email, :body, :aaa, :bbb, :ccc
validates :name, :email, :body, :aaa, :bbb, :ccc, :presence => true
validates :email, :format => { :with => %r{.+@.+\..+} }, :allow_blank => true
def initialize(attributes = {})
attributes.each do |name, value|
send("#{name}=", value)
end
end
def persisted?
false
end
end
私がやろうとしていること:それぞれの連絡フォームの属性を検証する方法、具体的には次の方法を探しています。
- 最初の連絡フォームには次の属性が含まれています:
:name, :email, :body
、検証する必要があります - 2番目の契約フォームには次の属性が含まれています:
:aaa, :bbb, :ccc, :email
これを検証する必要があります
どうやってするか?どの属性がどのフォームに属しているかを区別し、それらを検証する方法は?