Salah satu caranya adalah
Job.all.select{|j| j =~ /^\d+$/}
tetapi tidak akan seefisien versi MySQL.
Kemungkinan lain adalah menggunakan lingkup bernama untuk menyembunyikan SQL jelek:
named_scope :all_digits, lambda { |regex_str|
{ :condition => [" invoice_number REGEXP '?' " , regex_str] }
}
Maka Anda memiliki Job.all_digits
.
Perhatikan bahwa pada contoh kedua, Anda sedang menyusun kueri untuk database, jadi regex_str
harus berupa string regex MySQL alih-alih objek Regex Ruby, yang memiliki sintaks yang sedikit berbeda.