我已经构建了我的 Rails 模型模式以匹配iphone 联系人,其中包括多值电子邮件关联等。我有一个控制器操作,可以导入整个联系人数组(可能有 1,000 多个对象,每个对象都可能包含多个电子邮件对象)。我需要它来相当有效地运行,所以我正在寻找用于批量导入的activerecord-import 。但是,我需要在每个联系人的范围内验证电子邮件的唯一性,这样我就不会在每次导入批次时都不断添加重复项。我应该手动构建自己的版本update_attributes
,还是您可能会推荐现有的解决方案来验证/更新大量这样的记录?
联系方式
类联系人> ActiveRecord::Base has_many :地址 has_many : 电子邮件 has_many :网站 accept_nested_attributes_for :addresses, :emails, :websites attr_accessible :prefix, :first_name, :middle_name, :last_name, :suffix, :昵称,:组织,:job_title,:部门,:生日, :addresses_attributes, :emails_attributes, :websites_attributes 结尾
电子邮件模型
类电子邮件> ActiveRecord::Base 属于_to :contact # validates_uniqueness_of :account, :scope => :contact_id # 防止重复,但也跳过兄弟值 # 验证 :contact_id, :presence => true, :on => :create # 导致 422 错误 验证 :account, :presence => true, :format => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[az]{2, })\Z/i, :on => :create attr_accessible :contact_id, :email_id, :account, :label 结尾