2011-01-12 11 views
5

Uygulamamda arama, sıralama ve sayfalama eklemeye yönelik Railscast'i takip ediyorum. Sütunları aramak için arama mantığımı modelde değiştirdim (açıklama ve başlık). Bu çalışıyor gibi görünüyor. Ayrıca, büyük/küçük harfe duyarlı olmayanları aramak için değiştirdim. Bu benim yerel uygulamasında mükemmel çalışıyor gibi görünüyor, ama ben bunu kahramana doğru ittiğimde, sadece küçük harfle arama yapabilirim. Büyük harflerle arama, sonuçla eşleşse bile sonuç üretmez.Rails 3 MySQL sözdizimi, DEĞİL Case duyarlı arama, Heroku üzerinde çalışmıyor?

def self.search(search) 
    if search 
     where('LOWER (description) LIKE ? OR LOWER (title) LIKE ?', "%#{search}%" , "%#{search}%") 
    else 
     scoped 
    end 
    end 
+0

Bu sorunun sizin olduğundan emin değilim, ancak Heroku Postgres'i kullanır, bu nedenle herhangi bir MySQL'e özgü sözdizimi çalışmayacaktır (bunun hiçbiri mysql'e özgü olduğunu bilmiyorum). – cam

+0

Sorun bu olmamalı: Postgres de bir LOWER işlevine sahip. –

cevap

5

de

where("LOWER (description) LIKE ? OR LOWER (title) LIKE ?", "%#{search.downcase}%" , "%#{search.downcase}%") 
+0

Teşekkürler David, ama bu ne yazık ki bir MySQL sözdizimi hatası verdi – Elliot

+0

Cevabımı düzenledim (Sorunuzu yanlış anladım). Bu sorgu işe yarıyor mu? –

+0

Mükemmel çalıştı! Teşekkürler David! – Elliot