如何将字符串转换为纯文本

时间:2017-04-13 22:57:19

标签: ruby-on-rails ruby mongodb

enter image description here

我正在尝试实现Mongo查询。我写了一个函数,它返回一个查询参数:

"'Week Of': {'$in': [02/13/17]}"

我不想在字符串的前面和后面加上双引号。我知道它是一个字符串,它需要它,但当我将它注入我的查询时,它将无法工作,因为它有那些双引号。有没有办法将字符串转换为纯文本,因此它只是

'Week Of': {'$in': [02/13/17]}

我有一个接受中间哈希的模型,如:

Nosql.aggregate([ p_header + ", " + s_header], {args[0]}, table.target_collection.name.to_sym)

第二个论点是:

args[0] = "'Week Of': {'$in': [02/13/17]}"

这不起作用。但是,当我手动输入

'Week Of': {'$in': [02/13/17]}

取代

args[0]

它有效。

1 个答案:

答案 0 :(得分:0)

看起来它想要一个哈希,当你在作品中输入它时。但是当你将字符串参数放在大括号中时,Ruby不会像你想要的那样解析它。您可以使用eval执行某些操作,但使用生成参数的函数返回哈希值而不是字符串更简单。

您没有显示该代码,但您需要这样的内容......

def make_my_hash(dates)
  return {"Week of" => { "$in" => dates}}
end

然后将您的电话改为......

Nosql.aggregate([ p_header + ", " + s_header], args[0], table.target_collection.name.to_sym)