В разделе 2.2 руководства по направляющим по интерфейсу запросов Active Record здесь:
который, как представляется, указывает, что я могу передать строку, определяющую условие (ы), а затем массив значений, который должен быть заменен в какой-то момент, в то время как isl строится. Таким образом, у меня есть инструкция, которая генерирует строку условий, которая может быть различным числом атрибутов, соединенных вместе с И или ИЛИ между ними, и я передаю массив как второй аргумент методу where, и я получаю:
ActiveRecord:: PreparedStatementInvalid: неверное число переменных привязки (1 для 5)
что заставляет меня поверить, что я делаю это неправильно. Однако я не нахожу ничего о том, как это сделать правильно. Чтобы повторить проблему другим способом, мне нужно передать строку методу where, например "table.attribute =? AND table.attribute1 =? OR table.attribute1 =?" с неизвестным числом этих условий и вместе или вместе, а затем передать что-то, что, как я думал, будет массивом в качестве второго аргумента, который будет использоваться для подстановки значений в строке условий первого аргумента. Это правильный подход, или я просто пропустил какую-то другую огромную концепцию где-то, и я прихожу на все это неправильно? Я бы подумал, что так или иначе, это должно быть возможно, а не просто генерировать необработанную строку sql.