Метаданные абстрактные условия из запроса
Я использую гем Metawhere rails для запроса своей базы данных. У меня есть запрос, который работает:
t=Model.where({:attr1 => 450} | {:attr2 => 450}, :lang => 2)
Теперь я пытаюсь абстрагировать условия от запроса следующим образом:
conditions=Hash[{:attr1 => 450} | {:attr2 => 450}, :lang => 2]
t=Model.where(conditions)
но первая строка дает мне: синтаксическая ошибка, неожиданный tASSOC, ожидающий ']
Я пробовал много вещей, таких как приведение условий в строку и eval (условия) в запросе. но это дает мне SyntaxError: (eval): 1: в `irb_binding ': ошибка компиляции (eval): 1: синтаксическая ошибка, неожиданная', ', ожидающая $ end
Я застрял. Если вы можете помочь мне, это будет оценено.
Рутгер
1 ответ
Решение
Замещать
conditions=Hash[{:attr1 => 450} | {:attr2 => 450}, :lang => 2}]
с
conditions=Hash[{:attr1 => 450} | {:attr2 => 450}, :lang => 2]