У меня есть приложение Rails3, использующее ActiveRecord 3.0.3.
Я пытаюсь получить сумму для таблицы на основе 2 полей подзапроса в этой таблице.
Используя Rails Console, я могу вернуть его с правильным значением, например:
result = MyObject.sum(:foo, :conditions => "foo_id = #{self.id} AND bar_id = #{self.bar_id}" )
Однако я не мог заставить его работать с чем-то вроде этого:
result = MyObject.sum(:foo, :conditions => "foo_id = ? AND bar_id = ?", self.id, self.bar_id )
Это приведет к:
синтаксическая ошибка, неожиданная ',', ожидая tASSOC
Мой вопрос: Итак, у меня есть код, который выдает правильное значение. Но я беспокоюсь о возможном внедрении SQL-кода таким образом? Обычно вы используете параметры с запросами на активную запись, и это больше похоже на конкатенацию.
Я все еще изучаю свой путь в Active Record.
Спасибо за любой совет.