0
私は本の名前を入力する私のアプリにtext_fieldを持つフォームを持っています。この本は既に私のデータベースにあります。名前の代わりにフォームに本のIDを提出するにはどうすればよいですか?名前をテキストフィールドに入力しますが、IDを送信しますか?
私はここでコレクションを選択したくないということを言及する必要があります。なぜなら、これは最終的に自動完成フィールドにしたいからです。
私は本の名前を入力する私のアプリにtext_fieldを持つフォームを持っています。この本は既に私のデータベースにあります。名前の代わりにフォームに本のIDを提出するにはどうすればよいですか?名前をテキストフィールドに入力しますが、IDを送信しますか?
私はここでコレクションを選択したくないということを言及する必要があります。なぜなら、これは最終的に自動完成フィールドにしたいからです。
このロジックをオートセレクトで処理する必要があります。
$('.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
これは、あなたがやりたいだろう。まだ存在していない書籍を追加するには、サーバロジックを実装する必要があります。