从查询中Metawhere抽象条件

时间:2012-05-29 19:57:07

标签: ruby-on-rails ruby activerecord meta-where

我正在使用Metawhere rails gem来查询我的dbase。我有一个有效的查询:

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 个答案:

答案 0 :(得分:2)

替换

conditions=Hash[{:attr1 => 450} | {:attr2 => 450}, :lang => 2}]

conditions=Hash[{:attr1 => 450} | {:attr2 => 450}, :lang => 2]