0

私はユーザーモデルを持っています

違いはありますか

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
4

2 に答える 2

1

マクロは、次の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をご覧ください。

于 2013-01-13T20:12:10.387 に答える
0

はい-最初の文字列は空の文字列の保存に失敗しますが、2番目の文字列は保存できます。

于 2013-01-13T20:08:52.303 に答える