この質問は、Bootstrap バージョンではなく、Twitter が最近リリースした新しいスタンドアロンの typehead に関するものです。
これをレールアプリに統合して、データベースからいくつかの投稿の名前を検索しようとしていますが、それを機能させるのに問題があります。検索しても何も起こりませんが、/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)