2016-04-07 11 views
0

Kayıtları bir CSV dosyasından yüklüyorum. Ancak dosyada dernek verileri bulunan kayıtlar da var. Komisyon görevinin birden çok kez çalıştırılması nedeniyle yinelenen verilerin kaydedilmediğinden emin olmam gerekir.İlk_or_create yöntemi, Rails'deki ilişkilendirmeler için çalışıyor mu?

Yani first_or_create da ilişkilendirmelerle çalışıyor mu?

row = # FROM CSV Looping 

    service_place = ServicePlace.first_or_create(
     name: row['NAME'], 
     service_type: service_type, 
     address_attributes: 
     { 
     line_1: row['LOCATION'], 
     city: row['CITY'], 
     province: row['PROVINCE'], 
     postal_code: row['POSTAL_CODE'], 
     latitude: coords[0], 
     longitude: coords[1] 
     } 
    ) 
+0

Peki neden bu örnek verilerini veritabanınıza eklemiyorsunuz, sonra 'first_or_create' 'i çağırmaya ve anında cevap almaya çalışmıyorsunuz? – twonegatives

+0

Açıkçası ben de bunu yaptım. Ama sizin gibi harika insanlardan bazı harika önerileri/alternatifleri bekliyordum :) – Sachin

cevap

0

ben değeri benzersiz olmalıdır olanağı sağlamak amacıyla, ortaklık konulu ActiveModel doğrulama eklemeyin Neden hiç yinelenen veri

kaydedilir sağlamak için gereken şu şekildedir:

Kod olduğu ? Bu şekilde, devam ettireceğiniz verilerin benzersiz olacağından emin olursunuz.

+0

Bu gerçek bir gereklilik değil. Yönetici istediği takdirde yinelenen veri oluşturmayı tercih ediyor. Ancak ** bir komisyon görevi 20 kez çalıştırıldığında oluşturulmasını istemiyor. – Sachin

İlgili konular