2010-11-30 29 views
0

我过渡到Rails的3.0阿雷尔和MetaWhere写在Rails的2.3 SearchLogic的应用相匹配,和我快到,我不知道怎么写的操作。多LIKE与阿雷尔和MetaWhere

旧的代码为:

if params[:city] && params[:city].respond_to?(:each) 
    users = users.person_address_city_like_any(params[:city]) 
end 

这是什么所做的只是对运行在PARAMS每个项目LIKE匹配[:城市]数组。

这是很容易的在MetaWhere的时候,只有一个搜索词:

users = users.where(:person => { :address => { :city.matches => '%city1%' } }) 

但如何将我写这与城市的任意号码?

回答

4

尝试:

用户= users.where(:人=> {:地址=> {:city.matches_any => [ '%city1%', '%城2%']}})

+0

谢谢。到目前为止,我对MetaWhere印象非常深刻。 – 2010-11-30 23:08:14