Rails akan secara otomatis memanggil to_i
pada parameter Anda untuk beberapa metode, terutama metode di mana bilangan bulat diharapkan sebagai parameter, seperti Listing.find(params[:id])
.
Namun, untuk jenis metode penelusuran lain yang dapat menerima string sebagai parameter, Anda harus memanggil to_i
secara manual
Listing.find_by_id(params[:id].to_i)
Listing.find(:conditions => ["id = ?", params[:id].to_i])
Alasan Anda tidak mengalami masalah dengan MySQL adalah karena MySQL melakukan apa yang sebenarnya akan menjadi to_i
pada akhirnya (yaitu ini bukan masalah adaptor basis data, melainkan kemampuan server basis data yang sebenarnya).