我有一个简单的User类,其名称唯一性验证如下:
class User < ActiveRecord::Base
validates :name, :uniqueness => true,
创建新用户时效果很好。但是,当我检查登录表单时,用户输入了他的名字,并且系统显示已经采用了这个名称没有任何意义。
所以我实现了一个单独的valid_login?
方法,但是我不能在那里检查那个unqueness:
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中。
如果我不需要,我怎么能转过某些验证呢?
答案 0 :(得分:0)
我用:if /:unless参数解决了这个问题。