Railsy automatycznie wywołają to_i
w swoim parametrze dla niektórych metody, głównie te, w których jako parametr oczekuje się liczby całkowitej, np. Listing.find(params[:id])
.
Jednak w przypadku innych typów metod wyszukiwania, które akceptują ciągi jako parametry, musisz ręcznie wywołać to_i
Listing.find_by_id(params[:id].to_i)
Listing.find(:conditions => ["id = ?", params[:id].to_i])
Powodem, dla którego nie masz problemu z MySQL, jest to, że MySQL robi to, co w efekcie byłoby to_i
na jego końcu (tzn. nie jest to kwestia adaptera bazy danych, ale raczej możliwości rzeczywistego serwera bazy danych).