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

  • kamaniusilelis

    kamaniusilel

    10 HAZİRAN 2011
  • kylediablo

    kylediablo

    8 Ocak 2007
  • super1988guy

    super1988guy

    9 Aralık 2007