答案 0 :(得分:2)
您可以尝试以下操作,但可能需要两个查询:
result = where("name = #{search}")
result.empty? ? where("name LIKE %#{search}%") : result
答案 1 :(得分:0)
def self.search(search)
if search
results = find(:all, :conditions => ['name LIKE ?', "#{search}"])
results = find(:all, :conditions => ['name LIKE ?', "%#{search}%"]) if results.empty?
end
end
对于复杂的搜索,我建议使用像sphinx这样的搜索引擎