Rails, comment assainir SQL dans find_by_sql

Est-il un moyen de désinfecter sql dans les rails de la méthode find_by_sql?

J'ai essayé cette solution:
Ruby on Rails: Comment désinfecter une chaîne de caractères pour SQL lorsque vous n'utilisez pas le trouver?

Mais il ne parvient pas à

Model.execute_sql("Update users set active = 0 where id = 2")

Il renvoie une erreur, mais le code sql est exécutée et que l'utilisateur ayant l'ID 2 a maintenant un compte désactivé.

Simple find_by_sql aussi ne fonctionne pas:

Model.find_by_sql("UPDATE user set active = 0 where id = 1")
# => code executed, user with id 1 have now ban

Edit:

Eh bien, mon client a demandé de faire de cette fonction (select en sql) dans le panneau admin de faire quelques requête complexe(jointures, des conditions spéciales, etc). Donc j'ai vraiment envie de find_by_sql.

Deuxième Edit:

Je veux réaliser que "le mal" code SQL ne sera pas exécutée.

Dans le panneau d'administration, vous pouvez taper query -> Update users set admin = true where id = 232 et je veux bloquer toute mise à JOUR /SUPPRIMER /MODIFIER des commandes SQL.
Je veux juste savoir, qu'ici, vous ne pouvez SÉLECTIONNER.

Après quelques tentatives pour conclure, je sanitize_sql_array malheureusement, ne le faites pas.

Est-il un moyen de le faire dans les Rails??

Désolé pour la confusion..

source d'informationauteur nothing-special-here