2009-03-06 7 views
1

jQueryスクリプト(私の場合はオートコンプリート)のように、コントローラで初期化された変数の使い方を理解できません。だから、私はRailsを使って、私の作者リストを入手しています。どのように私はそのようなjQueryのオートコンプリートのプラグインを使用したいとD「jQueryのスクリプトでそれらをrefernceすることができます。コントローラのjQueryスクリプトにオブジェクトの配列を渡す方法

[コード] $(ドキュメント).ready(関数(){ $( "#1著者:BOOK_AUTHOR")をオートコンプリート(URLまたはデータ、オプション); }); [/ code] 私は作者の配列を制御器からスクリプトに渡す必要があります。どうやってするか?

答えて

3

このようにすることができます。

<script type="text/javascript"> 
    var authors = <%= Author.find(:all).to_json -%>; 
    $(document).ready(function() { 
     $("#book_author").autocomplete(authors, options); }); 
</script> 

Json文字列は、オブジェクトとしてJavaScriptで直接評価されます。 最終結果は、この場合、その後のオブジェクトの配列を容易にJavaScriptで処理される

var authors = [{"author": {"id": 1, "name": "John"}}, {"author": {"id": 2, "name": "Jack"}}]; 

ようなものであろう。 自動補完機能を利用するには、必要な形式で入手するにはもう少し処理が必要になるでしょう。

ちょうどあなたが

ActiveRecord::Base.include_root_in_json = false 
でそれをオフにしていない限りJSON文字列にはモデルが含まれることを覚えておいてください
関連する問題