質問: Railsにて、属性の存在を検証する場合、Modelに`validates :name, presence: true`と、`validates_presence_of :name`どちらを記述するものでしょうか? リファレンスを見てみたのですが、使い分けが分からなかった為、質問しました。 参考にしたURL --------- Rails Tutorial(name属性の存在を検証する) validates_presence_of - リファレンス - - Railsドキュメント 検証(validation) - - Railsドキュメント)
回答: `validates`は、Rails 3で加わった比較的新しい書き方です。`validates presence: true, numericality: { ... }`のように複数のバリデーターを一気に指定できるようになっています。 バリデーションの中身的には、`validates presence: true`も`validates_presence_of`も`PresenceValidator`を呼び出すので、全く同じです。