0

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

t=Model.where({:attr1 => 450} | {:attr2 => 450}, :lang => 2)

现在我试图从这样的查询中抽象出条件:

conditions=Hash[{:attr1 => 450} | {:attr2 => 450}, :lang => 2]
t=Model.where(conditions)

但第一行给了我:语法错误,意外的 tASSOC,期待 ']

我尝试了很多事情,比如在查询中将条件设为字符串和 eval(conditions)。但这给了我 SyntaxError: (eval):1:in `irb_binding': compile error (eval):1: syntax error, unexpected ',', expecting $end

我被困住了。如果你能帮助我,那将不胜感激。

罗格

4

1 回答 1

2

代替

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

conditions=Hash[{:attr1 => 450} | {:attr2 => 450}, :lang => 2]
于 2012-05-29T20:01:50.097 回答