validates
Rails 3では、保存や作成を行わずに、モデルのオプションを使用して属性の値が有効かどうかを確認したいと思います。
AJAX APIのバックエンドを作成しています。これは、ユーザー名を
validates :username, :length => {:minimum => 2, :maximum => 50}, :exclusion => {:in => RESERVED_USERNAMES}, :format => MY_REGEX, .etc
ユーザーモデル。これは、登録フォームのユーザー名フィールドの横に小さなチェックマークまたはクロスを作成するためのものであるため、ユーザーはユーザー名が取得されているかどうかを確認するのを待つ必要はありません。
正規表現と比較することもできますが、コードをDRYに保つには、ユーザーモデルで検証を使用する方がよいと思いました。
誰もが私が次のようなことをする方法を知っています:
username = params[:username]
if User.not_found(:username => username) && User.validate(:username => username)
#yay!
else
#nope
end
(私はすでにnot_found
働いています)。