如何在模型中首先搜索(我知道如何执行此操作)。然后在这个数组中搜索更多的具体结果?如你所见:
@articles = Article.find(:all, :conditions => { :ART_ID => @search.map(&:ARL_ART_ID)})
@a = @articles.find_all{|item| item.ART_ARTICLE_NR == search.upcase }
首先我在模型中搜索,但多亏了我的数据库)它有很多错误的结果,所以我必须澄清我的数组。但是如何像sql一样搜索:
喜欢%%
现在它搜索非常强大:如果我搜索AC451,它很好,但如果AC45或C451它没有任何提取。怎么说他之前和之后
搜索
可能就是一切?
答案 0 :(得分:1)
像这样,也许?
item.ART_ARTICLE_NR.include?(search.upcase)
答案 1 :(得分:1)
通过使用大写列名称不遵循rails命名约定,您会遇到麻烦。也就是说,rails3的方式可能是:
@articles = Article.where(:ART_ID => @search.map(&:ARL_ART_ID)).where('ART_ARTICLE_NR LIKE', "%#{search.upcase}%")
不知道@search是什么,很难确定。但是你应该阅读rails 3查询格式的active record guide。
答案 2 :(得分:0)
这可能不是直截了当的答案,但你考虑过使用ransack宝石吗?