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

  • BaaaStuds's channel

    BaaaStuds's

    10 Mart 2009
  • HuskyStarcraft

    HuskyStarcra

    4 HAZİRAN 2009
  • TechBalance

    TechBalance

    12 HAZİRAN 2011