我正在使用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
我被困住了。如果你能帮助我,我将不胜感激。
拉特格
答案 0 :(得分:2)
替换
conditions=Hash[{:attr1 => 450} | {:attr2 => 450}, :lang => 2}]
与
conditions=Hash[{:attr1 => 450} | {:attr2 => 450}, :lang => 2]