Как сделать управление HABTM с автоматическим завершением в Rails? - PullRequest
3 голосов
/ 02 октября 2009

Я ищу хорошее решение для типичной проблемы управления моделями с помощью ассоциации 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/img28/9141/samplef.th.png альтернативный текст http://img406.imageshack.us/img406/4075/sampleautocomplete.th.png

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

альтернативный текст http://img405.imageshack.us/img405/9576/betterautocomplete.th.png

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

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

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

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

Ответы [ 3 ]

2 голосов
/ 08 мая 2011

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

0 голосов
/ 21 декабря 2009

Может быть, поможет model_auto_completer.

http://agilewebdevelopment.com/plugins/model_auto_completer

0 голосов
/ 15 октября 2009

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

  1. "Tagger" chrisiufer.com/tagger, но без функции автозаполнения.

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

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

...