Мой (долго, я извиняюсь) вопрос является продолжением: Как добавить теги с автозаполнением к существующей модели в Rails?
Я использую acts-as-taggable-on
иrails3-jquery-autocomplete
и пытаюсь настроить систему (во многом как переполнение стека), в которой пользователи начинают вводить теги, а предложения появляются в раскрывающемся списке.
Цель
Яв новой форме answers # и я хочу увидеть список тегов, которые относятся к questions .т. е. представьте себе, что находитесь на SO, ищите новые вопросы по Rails и ищите ra
.Ruby-on-Rails
всплывает, вы щелкаете по нему, и вы видите список вопросов в RoR, на любой из которых вы можете ответить.
Это шаги, которые я предпринял.
- Установлены оба камня.Кажется, что оба работают самостоятельно.
- Добавлено
<%= javascript_include_tag "ui/jquery.ui.position", "ui/jquery.ui.autocomplete", "autocomplete-rails.js", "rails.js", "application.js" %>
.(У меня уже есть Jquery, UI Core и UI Effects.) - Контроллер ответов: я добавил сверху
autocomplete :question, :tags, :full => true
.Я также пытался autocomplete :tag, :name, :full => true
. - Question.rb:
acts_as_taggable_on :tags
. - Просмотр:
<%= form_tag new_answer_url, :method => "get" do %><br>
<%= autocomplete_field_tag "tag_list", 'tags', autocomplete_question_tags_answers_path %><br>
<% end %>
Простое автозаполнение (без тегов) работает (но это работает только один раз на загрузку страницы).С пометкой, нет успеха.
Проблемы
С большим количеством экспериментов (и много часов) я получаю следующие проблемы:
- Я получаю
NameError (unitialized constant Tag)
на сервереответ на начальную запись. - При реализации без тегов (в поиске самого простого текста вопроса) я получаю раскрывающийся список в стиле автозаполнения JQuery, но мои курсоры не могут получить доступ к опциям с помощью кнопок вверх / вниз.Я должен щелкнуть по ним мышью.Кроме того, выпадающий список не исчезнет, пока я не перезагрузлю страницу!
- После того, как сервер один раз отреагирует результатами (как я уже говорил, работает только non-taggable), он больше не реагирует на нажатия или изменения клавишв текстовой записи.
Я был бы очень признателен за любую помощь, которую вы можете оказать.Я прошел несколько уроков шаг за шагом, но сегодня мне не повезло.