J'ai une application Rails3 utilisant ActiveRecord 3.0.3.Somme d'enregistrement active avec 2 arguments
J'essaye d'obtenir une somme pour une table basée sur 2 champs de sous-requête dans cette table.
Utiliser Rails console, je peux l'obtenir pour revenir avec la valeur correcte comme ceci:
result = MyObject.sum(:foo, :conditions => "foo_id = #{self.id} AND bar_id = #{self.bar_id}")
Cependant, je ne pouvais pas obtenir de travailler avec quelque chose comme ceci:
result = MyObject.sum(:foo, :conditions => "foo_id = ? AND bar_id = ?", self.id, self.bar_id)
Cela entraînerait: erreur de syntaxe, inattendue ',', attendu tASSOC
Ma question: Donc, j'ai un code qui produit la valeur correcte. Mais je m'inquiète de l'injection possible de SQL le faire de cette façon? Normalement, vous utiliseriez des paramètres avec des requêtes d'enregistrement actives et cela ressemble un peu plus à une concaténation. Je suis encore en train d'apprendre mon chemin autour de Active Record. Merci pour tout conseil.