1

Agile Web Development with Rails検証の方法についての言及がないような本validates_whatever_ofで、すべての検証例が使用して行われるのはvalidates :attr, :whatever => trueなぜですか?Railsを学び始めたばかりで、混乱しました。

4

2 に答える 2

2

validates構文は、同じことの新しいショートカットにすぎません。これは、同様の制限を持つ多数の属性を検証する場合に特に役立ちます。したがって、この:

validates_presence_of :one
validates_presence_of :two
validates_presence_of :three
validates_presence_of :four

に減らすことができます

validates :one, :two, :three, :four, :presence => true

また、カスタムバリデーターへの優れた一貫したインターフェイスでもあります。

于 2012-04-18T01:44:13.377 に答える
2

Rails 2.xでは、次のように言っていたでしょう。

validates_presence_of :user_name

3.xでは、次のことを行います。

validates :username, :presence => true

古い方法はまだサポートされていると思いますが、非推奨です。

それは実際には同じことを表現する別の方法です。古い本やチュートリアルでは前者を使用しますが、それを3.xスタイルに変換するのはかなり簡単なはずです。たとえば、http://api.rubyonrails.org/classes/ActiveModel/Validations/ClassMethods.html#method-i-validatesを参照してください。

于 2012-04-18T01:45:16.753 に答える