我正在使用带有 prostgres 和 Sinatra 的 Sequel。我想做一个自动完成搜索。我已经验证了发送 GET 的 jQuery 工作正常。
红宝石代码是:
get '/search' do
search = params[:search]
DB[:candidates].select(:last).where('last LIKE ?', '_a_').each do |row|
l = row[:last]
end
end
问题是续集查询:
我已经尝试了我能想到的所有可能的查询配置,但没有运气。
因此,例如,在上面的查询中,我得到了所有姓氏中有“a”的人,但是当我将查询更改为:
DB[:candidates].select(:last).where('last LIKE ?', 'search')
或者
DB[:candidates].select(:last).where('last LIKE ?', search) # (without '')
我什么都得不到。
我已经完成了warn params.inspect
这表明参数搜索正在通过,所以我被卡住了。
任何想法应该如何编写查询?
最后,问题的第二部分结果(当它与 一起工作时'_a_'
)呈现为{:last=>"Yao"}
我想要的只是 Yao,我该怎么做?
我尝试了许多不同类型的查询,包括原始 SQL,但没有运气。还是这种方法完全错误?