Автозаполнение для Formtastic - PullRequest
       4

Автозаполнение для Formtastic

0 голосов
/ 15 сентября 2011

Я искал способ добавить функцию автозаполнения в форму formtastic и натолкнулся на crowdint / rails3-jquery-autocomplete, но я не смог получить последнюю версию (0.9.1) для работы с formtastic (что является известной проблемой), и в предыдущей версии вспомогательный элемент id не работает, поэтому при отправке формы невозможно установить значение параметра в скрытом поле. И еще одна жемчужина, formtastic_autocomplete от elandesign, устарела. Поэтому мне интересно, есть ли альтернативные методы, которые я мог бы использовать, чтобы получить (JQuery-UI?) Поле автозаполнения в форме формы. Мои модели таковы, что товар принадлежит бренду, а у бренда много товаров (есть столбец brand_id в таблице товаров), поэтому в настоящее время у меня есть, что означает, что автоматически создается опция выбора для ассоциации
Спасибо, Alex

Ответы [ 3 ]

0 голосов
/ 22 сентября 2011

Только что исправлена ​​ошибка Formtastic для rails3-jquery-autocomplete. Используйте версию 1.0.2

Когда вы говорите, что id-элемент не работает, вы имеете в виду в сочетании с Formtastic?

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

0 голосов
/ 06 октября 2012

Я написал ненавязчивое, чистое решение jQuery для этой проблемы (автозаполнение для ассоциаций принадлежащих_).Вам не нужно делать ничего особенного в отношении Formtastic.Просто сгенерируйте обычное поле ввода для своего внешнего ключа и добавьте атрибут, указывающий URL автозаполнения, и другой атрибут, указывающий текущее отображаемое значение модели, на которую ссылаются (в вашем случае название бренда существующего продукта).Использование шаблонной нотации HAML (ERB почти такой же):

= semantic_form_for @product do |f|
  = f.inputs do
    -# Other input fields ...
    = f.input :brand_id,
        :input_html => {:'data-autocomplete-url' => auto_complete_brands_path,
                        :'data-autocomplete-value' => @product.brand.try(:name)}
:javascript
  $(function() {
    $('#product_brand_id').autocompleteAssociation();
  });

Здесь используется виджет автозаполнения jQuery, который я написал специально для таких случаев сопоставления моделей.Это можно найти здесь, вместе с дополнительной документацией: https://gist.github.com/3842296

0 голосов
/ 15 сентября 2011

Если вы не используете драгоценный камень, который пытается быть умным и делает все для вас, тот факт, что вы используете formtastic, не имеет никакого значения. HTML-код, сгенерированный с помощью formastic, не отличается от HTML-кода, сгенерированного с помощью помощников обычной формы.

Вы можете легко использовать плагин автозаполнения jquery ui.

...