我得到了地址哈希。我正在通过嵌套属性建立地址。 如果地址哈希重复(即地址1,邮政编码,国家/地区,城市)组合已经存在,则跳过并继续进行下一个地址哈希并创建。 我想在模型中编写它。 自定义验证将停止执行。 达到相同效果的另一种选择
答案 0 :(得分:0)
def insert_address_with_hash(hash)
Address.create!(hash)
rescue ActiveRecord::RecordNotUnique => e
puts 'Ignore dups'
end
和迁移(模板)
class AddUniqIndexOnAdresses < ActiveRecord::Migration
def change
add_index :addresses, [:address1, :zip, :country, :city], :unique => true
end
end
请确保您的表中没有非唯一的行,否则迁移将无法进行。