私はユーザーモデルを持っています
違いはありますか
class User < ActiveRecord::Base
validates :name, :presence => true
end
と
class User < ActiveRecord::Base
def validate
errors.add_to_base "name should not be nil" if name.nil?
end
end
私はユーザーモデルを持っています
違いはありますか
class User < ActiveRecord::Base
validates :name, :presence => true
end
と
class User < ActiveRecord::Base
def validate
errors.add_to_base "name should not be nil" if name.nil?
end
end
マクロは、次のvalidates
ようなこともできるため、より柔軟です。
validates :name, :format => { :with => /\A[a-zA-Z]+\z/,
:message => "Only letters allowed" }, :length => { :in => 6..20 }
このvalidate
方法は、既存の検証が存在しない場合にカスタム検証を行うための迅速で簡単な方法です。(カスタム検証が複雑になりすぎる場合は、通常、それらをカスタムバリデーターに移動してvalidates
マクロを使用する必要があります)。
詳細については、 http: //guides.rubyonrails.org/active_record_validations_callbacks.htmlをご覧ください。
はい-最初の文字列は空の文字列の保存に失敗しますが、2番目の文字列は保存できます。