Метаданные абстрактные условия из запроса

Я использую гем 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]
Другие вопросы по тегам