Rails:使用验证进行用户注册/登录

时间:2010-10-22 17:04:32

标签: ruby-on-rails validation user-registration

我有一个简单的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中。

如果我不需要,我怎么能转过某些验证呢?

1 个答案:

答案 0 :(得分:0)

我用:if /:unless参数解决了这个问题。