Как сделать управление HABTM с автодополнением в Rails?

Я ищу хорошее решение для, вероятно, типичной проблемы управления моделями с ассоциацией HABTM в Rails.

Предположим, что у нас есть две модели — продукты и категории:

Products
  has_many :categorizations
  has_many :categories, :through => :categorizations
Categories
  has_many :categorizations
  has_many :products, :through => :categorizations
Categorization
  belongs_to :product
  belongs_to :category

Пэт Шонесси разрабатывает модифицированный плагин auto_complete, который позволяет управлять -ко многим) ассоциация:

http://img28.imageshack.us/i/samplef.png/ http://img406.imageshack.us/i/sampleautocomplete.png/

Кому-то этого было бы достаточно, но я не очень люблю такое количество текстовых полей. Я предполагаю, что можно комбинировать скринкасты Райана Бейтса, использованные Пэтом, немного по-другому, а именно используя одно текстовое поле с автозаполнением:

http://img405.imageshack.us/i/betterautocomplete.png/

Также было бы лучше удалить из списка предлагаемых задач (один-ко-многим) или товаров|категорий (многие-ко-многим) те, которые были уже добавлены. сильный>.

В случае связи товары-категории такое автозаполнение будет использоваться как в форме для товара, так и в форме для категории.

Я надеюсь, что есть существующий плагин для этого. Я не очень разбираюсь в Ruby и не знаю, как реализовать такую ​​логику самостоятельно.

Любая помощь приветствуется!


person Andrei    schedule 02.10.2009    source источник
comment
Это хорошая идея, и ее не должно быть слишком сложно реализовать, хотя для этого потребуются знания JavaScript. На самом деле это больше проблема JavaScript, чем проблема Rails.   -  person Peter Wagenet    schedule 05.10.2009


Ответы (3)


Проблема прекрасно решена с помощью плагина jQuery Tokeninput, как показано Райаном Бейтсом: http://railscasts.com/episodes/258-token-fields

person Andrei    schedule 08.05.2011
comment
Есть ли у вас какие-либо идеи, как получить токены, отображаемые в форме редактирования для с вложенными_атрибутами на 3-м уровне? при создании он отлично работает, но при загрузке формы редактирования я не могу найти способ показать сохраненные токены для этого отношения во вложенной форме. благодаря. - person Mr_Nizzle; 06.06.2012

Мне тоже нужен аналог. но пока нашел два плагина для jQuery.

  1. «Теггер» chrisiufer.com/tagger, но без функции автозаполнения.

  2. И «Расширенное использование автозаполнения» http://education.llnl.gov/jquery/adv_auto.lasso

Было бы здорово, если бы кто-нибудь переделал его для Ruby on Rails. :) Если у вас есть готовое решение, пожалуйста, выложите код!

person Vladimir    schedule 15.10.2009

Возможно, поможет model_auto_completer.

http://agilewebdevelopment.com/plugins/model_auto_completer

person Sonny Parlin    schedule 21.12.2009