Rails chiamerà automaticamente to_i
sul tuo parametro per alcuni metodi, principalmente quelli in cui è previsto un numero intero come parametro, come Listing.find(params[:id])
.
Tuttavia, per altri tipi di metodi di ricerca che possono accettare stringhe come parametri, dovrai chiamare manualmente to_i
Listing.find_by_id(params[:id].to_i)
Listing.find(:conditions => ["id = ?", params[:id].to_i])
Il motivo per cui non hai problemi con MySQL è che MySQL fa quello che in effetti sarebbe un to_i
alla fine (cioè non è un problema di adattatore di database, ma piuttosto una funzionalità del server di database effettivo).