0

WithdrawalAccountレコードには、、、またはのいずれかがSepaAccount含まれます。これらの少なくとも 1 つである必要があります。複数にすることはできません。InternationalAccountPayPalAccountOtherAccount

class WithdrawalAccount < ActiveRecord::Base
  has_one :sepa_account
  has_one :international_account
  has_one :third_account
  has_one :fourth_account
end

更新された質問:validate_presence_ofそのうちの 1 つだけを存在させながら、それらのいずれか をどのようにすればよいですか。

4

2 に答える 2

1

あなたはこのようにすることができます

validate :account_validation

private

def account_validation
  if !(sepa_account.blank? ^ international_account.blank?)
    errors.add_to_base("Specify an Account")
  end
end

ここに答えがあります(1つのフィールドまたは別のフィールドの存在を検証します(XOR)

于 2013-08-16T07:26:27.023 に答える