Rails 3: valida: presença => true vs validates_presence_of
Qual é a diferença entrevalidates :presence
evalidates_presence_of
? Olhando atravésActiveModel
parece que eles configuram a validação da mesma maneira. No entanto, dada a seguinte definição de modelo:
class Account < ActiveRecord::Base
has_one :owner_permission, :class_name => 'AccountPermission', :conditions => { :owner => true, :admin => true }
has_one :owner, :class_name => 'User', :through => :owner_permission, :source => :user
validate :owner, :presence => true
validates_associated :owner
end
Chamando salvar em uma instância deAccount
não valida a presença do proprietário. Porém, se eu usarvalidates_presence_of
será