2011-03-30 109 views
1

我想获得一个模型对象,其中包含某个键(我不知道该值)的散列值。类似这样的:如何搜索密钥的散列

Model.all(:conditions => ["hashvalue.has_key => ?", key]) 

我该怎么做?

回答

5
Model.all.find_all{|model| model.hash.has_key?(key)} 
+0

甜,谢谢。我以为我必须做一些不可能的SQL! – David 2011-03-30 04:52:27

+0

@ andrew..hi ..使用'find_all'..这等同于'select'或者它在数据库端有没有优势... – rubyprince 2011-03-30 04:56:59

+0

@rubyprince:'find_all'是一个Ruby方法:http:// www .ruby-doc.org/core/classes/Enumerable.html#M001487。 Protip:问题以问号结束,而不是省略号。 – 2011-03-30 05:10:22