Rails automaticky zavolá to_i
na vašem parametru pro některé metody, hlavně ty, kde se jako parametr očekává celé číslo, jako Listing.find(params[:id])
.
U jiných typů vyhledávacích metod, které mohou přijímat řetězce jako parametry, však budete muset ručně zavolat to_i
Listing.find_by_id(params[:id].to_i)
Listing.find(:conditions => ["id = ?", params[:id].to_i])
Důvod, proč nemáte problém s MySQL, je ten, že MySQL dělá to, co by ve skutečnosti bylo to_i
na jeho konci (tj. nejde o problém databázového adaptéru, ale spíše o schopnost skutečného databázového serveru).