0

ユーザーとクライアントがあり、どちらにも1つのアドレスがあります。クライアントにのみaddress.streetを必要とします。これどうやってするの?

4

2 に答える 2

2

次のような独自のカスタム検証を作成できます。

class Address < ActiveRecord::Base
  validate :client_street_required

  def client_street_required
    if self.street.blank? and !self.Client.blank?
      errors.add(:street, "required")
    end
  end

end
于 2012-05-02T20:00:52.977 に答える
1

標準的な方法は、条件を検証に正しく入れることです。rails_docを見てください

class Address < ActiveRecord::Base

  validate :street, :presence => true, :unless => 'client.nil?'

end
于 2012-05-02T20:54:42.683 に答える