Comment exécuter des commandes arbitraires SQL paramétrée dans les rails
Pour des raisons de performances, j'ai besoin d'écrire une nouvelle méthode dans mon Rails modèle qui exécute des requêtes SQL:
UPDATE table
SET col1 = ? AND col2 = ?
WHERE id = ?
Je comprends que je peux utiliser ActiveRecord::Base.connection.execute
ou ActiveRecord::Base.connection.update
avec une chaîne de SQL pour obtenir les résultats dont j'ai besoin, mais quelle est la bonne procédure pour remplacer les espaces réservés de paramètre (?
) avec les valeurs de paramètre? Est-il un Rails de la méthode de l'interpolation des paramètres dans une requête SQL, ou doit-il seulement être fait par le manuel d'interpolation? Ce dernier semble dangereux...
Découvrez cette question aussi: stackoverflow.com/questions/4483049/....
Je seconde de Brian commentaire - le lien ci-dessus semble être la même question de base.
Je seconde de Brian commentaire - le lien ci-dessus semble être la même question de base.
OriginalL'auteur nohat | 2010-12-29
Vous devez vous connecter pour publier un commentaire.
Vous pourriez aussi le faire:
to_s
est appelée surid
avantto_i
dans le cas où il est nul.OriginalL'auteur Zubin