名前の一意性を次のように検証する単純なUserクラスがあります。
class User < ActiveRecord::Base
validates :name, :uniqueness => true,
これは、新しいユーザーが作成されたときにうまく機能します。しかし、ログインフォームを確認すると、ユーザーが自分の名前を入力すると、システムはそれがすでに取得されていると言っているので、意味がありません。
そこで、別のメソッドを実装しましたが、そこでvalid_login?
その不確実性チェックを有効にすることはできません。
def valid_login?
validates :name, :uniqueness => false # doesn't work
end
これは私のコントローラーのコードです:
def login
return unless request.post?
@user = User.new(params[:user])
if @user.valid_login?
# Redirect to user's page
end
end
私は非常にシンプルな独自の認証システムを使用しています。ユーザーのIDとパスワードのハッシュをCookieに保存します。
必要のないときに特定の検証をオフにするにはどうすればよいですか?