使用MongoMapper / Ruby搜索查询,其中可变参数不起作用

时间:2011-10-18 23:40:56

标签: ruby variables mongodb mongomapper

我想要退回特定类别下的所有卡片。我有以下查询,使用MongoMapper工作,并正确返回结果:

@cards = Card.where(:category_ids => 2)

但是我希望能够根据这样的变量查询类别:

@cards = Card.where(:category_ids => params[:cat_id])

将cat_id作为HTTP get传递的位置。但由于某种原因,这没有结果。 MongoMapper是否支持以这种方式传入变量进行搜索?

1 个答案:

答案 0 :(得分:0)

我认为你只是有类型问题。 params中的值将是字符串,但您需要Fixnum。试试这个:

@cards = Card.where(:category_ids => params[:cat_id].to_i)

MongoMapper的where不会为您完成所有类型的转换。