Rails appellera automatiquement to_i
sur votre paramètre pour certains méthodes, principalement celles où un entier est attendu comme paramètre, comme Listing.find(params[:id])
.
Cependant, pour les autres types de méthodes de recherche qui peuvent accepter des chaînes comme paramètres, vous devrez appeler manuellement to_i
Listing.find_by_id(params[:id].to_i)
Listing.find(:conditions => ["id = ?", params[:id].to_i])
La raison pour laquelle vous n'avez pas de problème avec MySQL est que MySQL fait ce qui serait en fait un to_i
à sa fin (c'est-à-dire qu'il ne s'agit pas d'un problème d'adaptateur de base de données, mais plutôt d'une capacité du serveur de base de données réel).