Rails anropar automatiskt to_i
på din parameter för vissa metoder, främst de där ett heltal förväntas som en parameter, som Listing.find(params[:id])
.
Men för andra typer av sökmetoder som kan acceptera strängar som parametrar, måste du manuellt anropa to_i
Listing.find_by_id(params[:id].to_i)
Listing.find(:conditions => ["id = ?", params[:id].to_i])
Anledningen till att du inte har problem med MySQL är att MySQL gör vad som i praktiken skulle vara en to_i
i slutet (dvs. det är inte ett problem med databasadapter, utan snarare en funktion hos den faktiska databasservern).