2016-04-19 15 views
-1

という文字列のテーブルremedyから検索バーを自動完成しようとしています。自動完成検索バーの配列の表示名

ここで私は\pages\home.html.erb

$(function() { 
    var availableTags = "<%= @remedies_remedyName%>"; 

    $("#autoComplete").autocomplete({ 
     source: availableTags 
    }); 
    }); 

で持っているJavaScriptはここでここPages Controller

def home 
@remedies = Remedy.all 
end 

のコードはあなたがルビーをプリントアウトしている/pages/home

<div class="carousel-caption searchbar">     
<form class="search" action="/pages/searchremedy" method="get"> 
    <input id="autoComplete" class="searchTerm" name="searchremedy" placeholder=" Search by treatment type, or tell us what you'd like to treat..." /> 
    <input class="searchButton" type="submit" placeholder="Search" /> 
</form> 
</div> 
+0

https://github.com/peterwillcn/rails4-autocompleteを試してみてください。これはあなたを助けるでしょう。 –

+0

提案してくれてありがとう、私は昨日すべてのセットアップを得たが、それは動作していないようだ。自動補完は、静的配列が定義されている場合に機能し、テーブルから配列を呼び出す以外は同じことをしたいだけです。 –

+0

/pages/searchremedyのコードを貼り付けてください –

答えて

1

でhtmlですされています変数@remedies_remedyNameをあなたのjavascrにインポートしますipt。このインスタンス変数を定義したようには見えません。

var availableTags = "<%= @remedies_remedyName%>"; 

以下に、あなたのjsのコードを更新します。

var availableTags = "<%= raw(@remedies.map(&:remedyName)).html_safe %>"; 

注:私はあなたのRemedy表にremedyNameという列を持っていると仮定しています。

+0

私はこれがそれをするだろうと思ったが、まだ動作していない!しかし、はい、正しいremedyNameは列です。 –

+0

私はちょうど試したことがあり、うまくいきました。レンダリングされたページからこの行を貼り付けてください。 – Uzbekjon

+0

ああええ?どの線? –

0

は、以下試してみてください。

var availableTags = <%= @remedies.pluck(:remedyName) %>; 
関連する問題