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

  • Truc Minh

    Truc Minh

    23 Ocak 2011
  • tutvid

    tutvid

    19 AĞUSTOS 2006
  • JeezyVEVO

    JeezyVEVO

    12 Mayıs 2009