Rails

2016-03-22 8 views
0

'daki tümcede mysql ile regexp ifadesini kullanın. Burada, yan tümce aracılığıyla bazı sonuçlar bulmak için regexp kullanmaya çalışıyorum. Ancak sonuçlar beklendiği gibi geliyor. Herhangi bir yardım gerçekten takdir edilecektir.Rails

kullanıcı adı asha123

Veritabanı sorgu

User.where('username REGEXP ?', /(asha|asha)/) 

Sonucu bir dize yerine bir yakut normal ifadede

User Load (0.4ms) SELECT `users`.* FROM `users` WHERE (username REGEXP '--- !ruby/regexp /(asha|asha)/\n...\n') 

=> #<ActiveRecord::Relation []> 
+0

'(Asha | Asha)' aynı maçları |

User.where ('kullanıcı adı regexp?' "# {Last_name}) (# {first_name}"): Diyelim ki first_name ve last_name değişkenleri vardı diyelim sadece 'asha' olarak satırlar. –

cevap

2

Geçiş olduğunu. Ör:

User.where('username REGEXP ?', '(asha|asha)') 

veritabanı bir "normal ifadeyle" bekliyor rağmen, ActiveRecord değil - sadece senin ? bir dize değeri ile değiştirmek istiyor.

Güncelleme: Bir değişken kullanmak için: sadece çift tırnak içinde düzenli değişken enterpolasyon kullanın.

+0

Hey teşekkürler Joshua işe yarıyor :) Bazı değişkenlerde asha varsa nasıl aynı şeyi değişken olarak verebilirim? O zaman nasıl geçebilirim? –

+0

Cevabımı güncelledim. –

+0

Teşekkür ederim joshua. Onun çalışma :-) –