我有一个用户表,在插入值之前我需要检查用户是否已经存在,我该怎么办? 谢谢!
答案 0 :(得分:0)
您可以使用exists?
或者像find_or_create_by_...
这样的动态方法。
答案 1 :(得分:0)
需要检查用户是否已存在
首先,您需要定义“用户已存在”的含义 - >可能是唯一的电子邮件地址?
请参阅http://guides.rubyonrails.org/active_record_validations_callbacks.html#uniqueness
class User < ActiveRecord::Base
validates :email, :uniqueness => true
end
通过在模型中执行SQL查询来进行验证 表,搜索具有相同值的现有记录 属性。它不会在数据库中创建唯一性约束。
与数据库中的唯一约束一起使用可能是您最好的选择;使用
创建迁移change_table :users do |t|
t.index :email, :unique => true
end