这个问题涉及Twitter最近发布的新的独立类型,而不是Bootstrap版本。
我正在尝试将其集成到rails应用程序中以查找数据库中某些帖子的名称,而我在尝试使其工作时遇到问题。当我搜索没有任何反应时,我可以导航到/posts.json并获取数据。
我有一个带有硬编码数据的工作版本,您可以在此处查看,输入“a”以获得结果:
JS
$(document).ready(function() {
$('input.typeahead').typeahead({
name: 'posts',
prefetch: '/posts.json',
limit: 10
});
});
输入
<input class="typeahead" type="text" dir="ltr" placeholder="Search here....">
这是我的控制器:
def names
names = []
all = Post.where("name LIKE ?", "%#{params[:term]}%")
all.each { |subc| names << subc.name }
render json: names
端
参数设置:
Started GET "/sub_categories/names?q=a" for 127.0.0.1 at 2013-03-15 09:45:40 -0400
Processing by SubCategoriesController#names as JSON
Parameters: {"q"=>"a"}
SubCategory Load (0.5ms) SELECT "sub_categories".* FROM "sub_categories" WHERE (name LIKE '%%') LIMIT 10
Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.5ms)
答案 0 :(得分:2)
我无法获取预取工作但我通过在json源的末尾添加“?q =%QUERY”来远程工作:
remote: '../sub_categories/names?q=%QUERY'
然后在查询中我发现你必须省略第一个'%',以便它与你输入的内容相匹配。
控制器:
Post.where("name LIKE ? OR name LIKE ?", "#{params[:q]}%")