试图在ruby中找到重复的用户名

时间:2009-12-13 20:13:00

标签: ruby-on-rails ruby unique

我正在尝试确保用户名在注册时是唯一的,但我不确定如何执行此操作

我试过了:

validates_uniqueness_of :username 

但它不起作用

它给了我这个错误: #<UsersController:0x6c4fd2>

的未定义方法'validates_uniqueness_of'

请帮忙吗?

3 个答案:

答案 0 :(得分:6)

您尚未指定声明validates_uniqueness_of的位置。这是一个混合到ActiveRecord::Base中的类方法,因此请确保在模型中声明它,而不是在控制器或其他地方声明。

答案 1 :(得分:1)

validates_uniqueness_of应该可以工作,但是您必须向数据库列添加唯一索引以避免竞争条件。这可以通过迁移完成:

add_index :table_name, :column_name , :unique=> true

同时查看validates_uniqueness_ofcase_sensitive选项。

答案 2 :(得分:1)

这需要放入用户模型而不是控制器。

相关问题