Как реализовать текстовые поля с автозаполнением для полей habtm? - PullRequest
1 голос
/ 30 октября 2008

Я попробовал пример из Rails Cookbook и смог заставить его работать. Однако text_field_with_auto_complete работает только для одного значения.

class Expense < ActiveRecord::Base
  has_and_belongs_to_many :categories
end

В новом представлении расходов rhtml

<%= text_field_with_auto_complete :category, :name %>

Авто завершение работ для первой категории. Как мне заставить его работать на несколько категорий? например Категория 1, Категория 2
Намеренное поведение: например, текстовое поле Метки StackOverflow

Обновление:
С некоторой помощью и дополнительными изменениями я получил несколько автозаполнений, разделенных запятыми, которые будут отображаться (опубликуем пример кода здесь).
Однако при выборе последнее значение заменяет содержимое text_field_with_auto_complete. Таким образом, вместо Category1, Category2 .. в текстовом поле отображается Category2, когда вторая категория выбирается посредством автозаполнения. Есть идеи, как это исправить?

Ответы [ 4 ]

1 голос
/ 05 ноября 2008

Если вы просто пытаетесь поддерживать несколько экземпляров автозаполнения для каждого поля, вы можете передать разделитель для параметров автозаполнения с символом: токен. Это обеспечивает разделитель для нескольких результатов. Stackoverflow будет использовать: token => '' (между кавычками должен быть пробел, но автоформат удаляет его), чтобы указать пробел между разделителями, хотя чаще используется ','.

1 голос
/ 30 октября 2008

Я думаю, что этот пост охватывает то, что вы ищете: AJAX автозаполнение с помощью Rails .

0 голосов
/ 30 марта 2012

Вам нужно использовать параметр «разделитель данных», как этот
<%= f.autocomplete_field :brand_name, welcome_autocomplete_brand_name_path, "data-delimiter" => ', ' %>

0 голосов
/ 07 ноября 2008

Это не совсем ваш вопрос, но я бы не рекомендовал больше использовать HABTM. Вы должны создать модель соединения и использовать has_many: through. (В вашем случае вы бы создали новую модель с именем ExpenseCategoryAssignment или что-то в этом роде)

Проблема в том, что HABTM создает неоднозначности, которые не нравятся rails, и имеет тенденцию выявлять ошибки, которые вы не увидите иначе.

...