SORU
8 ŞUBAT 2010, PAZARTESİ


Büyük / küçük harf duyarlı Raylar arama modeli

Ürün modeli bazı öğeleri içerir

 Product.first
 => #<Product id: 10, name: "Blue jeans" >

Şimdi başka bir veri kümesinden bazı parametreleri ürün ithal ediyorum, ama adlarının yazım tutarsızlıkları vardır. Diğer veri kümesi içinde, Blue jeans örneğin yazılması, Blue Jeans.

Ama bu yeni bir ürün, ilk neredeyse aynı yaratacak 5 ** istedim. Eğer lowercased adını bulmak ve karşılaştırmak istersem seçeneklerim neler.

Performans sorunları burada gerçekten önemli değil: sadece 100-200 ürünler vardır, ve verileri alır bir geçiş olarak çalıştırmak istiyorum.

Herhangi bir fikir?

CEVAP
8 ŞUBAT 2010, PAZARTESİ


Muhtemelen daha once burada olmak zorundasın

name = "Blue Jeans"
model = Product.where('lower(name) = ?', name.downcase).first 
model ||= Product.create(:name => name)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DRDAnimation

    DRDAnimation

    28 EYLÜL 2012
  • ModNation Racers H.Q.

    ModNation Ra

    31 Ocak 2010
  • Xcode programming tutorials

    Xcode progra

    17 EYLÜL 2006