Вы должны обработать эту логику с помощью автоматического выбора.
$('.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
Это будет делать, что вы хотите.Вам все еще нужно будет реализовать логику сервера, чтобы добавить новые книги, которые еще не существуют.