在Rails 3.0.5中,我的用户模型有一个奇怪的问题。
当用户注册时,案例由模型查看:"nicolas“与"Nicolas”不同。当用户登录时,案例不是由模型查看的:"Nicolas“和"nicolas”是相同的。
在我的模型中:
validates_uniqueness_of :username
def self.authenticate(username, password)
user = find_by_username(username)
return user if user && user.status == 1 && user.password_hash == BCrypt::Engine.hash_secret(password, user.password_salt)
return nil
end所以"find_by_usename“将返回第一个找到"Nicolas”或“nicolas”的用户...
有什么想法吗?
发布于 2012-08-24 18:18:38
默认情况下,在MySQL中,其中不区分大小写。
因此,如果您想要进行区分大小写的搜索,请尝试如下所示:
Model.where('my_string LIKE BINARY ?', "This is a Test String")在您的情况下,这将是:
user = User.where('username LIKE BINARY ?', username).firsthttps://stackoverflow.com/questions/12107425
复制相似问题