2010-12-31 6 views
0

私は本の名前を入力する私のアプリにtext_fieldを持つフォームを持っています。この本は既に私のデータベースにあります。名前の代わりにフォームに本のIDを提出するにはどうすればよいですか?名前をテキストフィールドに入力しますが、IDを送信しますか?

私はここでコレクションを選択したくないということを言及する必要があります。なぜなら、これは最終的に自動完成フィールドにしたいからです。

答えて

0

このロジックをオートセレクトで処理する必要があります。

$('.book_search').live('keyup.autocomplete', function(){ 
    $(this).autocomplete({ 
    source : '/ajax_functions/book_search', 
    select : function(event, ui){ 
     book_id = ui.item.id; 
     label = ui.item.value; 

     $(this).before(label); // replace with text 
     $(this).before('<input name="books'+[book_id]" type="hidden" value="'+user_id+'">'); 
     $(this).remove(); 
     return false; 
    } 
    }); 
}); 

あなたはオートコンプリートJSONです:

books = [] 
Book.search(params[:term]).each do |b| 
    books << { :label => b.name, :id => b.id } 
end 

render :json => books 

これは、あなたがやりたいだろう。まだ存在していない書籍を追加するには、サーバロジックを実装する必要があります。

関連する問題