Я пытаюсь добавить поле jquery tokeninput в форму моего приложения, которая позволяет пользователям публиковать обновления статуса. Я хочу, чтобы пользователи могли прикреплять к обновлению статуса работы (отдельную модель). Я использую драгоценный камень act_as_taggable_on, и мой запрос указывает, что контекст тегов «работает». Однако это поле не будет загружать результаты поиска.
На самом деле у меня есть второе поле ввода токена, которое позволяет пользователям прикреплять теги к обновлению статуса, так же, как этот веб-сайт использует теги для прикрепления к этой заявке о проблеме. Это работает нормально! Я пытаюсь отразить эту функциональность, чтобы указать контекст для поиска модели работ, и у меня возникают проблемы с реализацией.
Есть идеи? Ваше время и помощь будут очень признательны! Вот соответствующий код:
модель публикации
attr_accessible :content, :tag_list, :work_list
acts_as_taggable_on :tags
acts_as_taggable_on :works
Пост-контроллер (обновлено)
def work_list
query = params[:q]
@work_list = ActsAsTaggableOn::Tag.includes(:taggings).where("taggings.context = 'works'").where("tags.name ILIKE ?", "%#{params[:q].downcase.to_s}%").all
@work_list = @work_list.select { |v| v.name =~ /#{query}/i }
respond_to do |format|
format.json { render :json => @work_list.map{|w| {:id => w.name, :name => w.name }}}
end
end
def tags
query = params[:q]
if query[-1,1] == " "
query = query.gsub(" ", "")
ActsAsTaggableOn::Tag.find_or_create_by_name(query)
end
#Do the search in memory for better performance
@tags = ActsAsTaggableOn::Tag.all
@tags = @tags.select { |v| v.name =~ /#{query}/i }
respond_to do |format|
format.json{ render :json => @tags.map{|t| {:id => t.name, :name => t.name }}}
end
end
форма
"post_work_list", "data-pre" => @post.work_list.map(&:attributes).to_json %>
Javascript
$ ->
$("#post_tags").tokenInput "/posts/tags.json",
prePopulate: $("#post_tags").data("pre")
preventDuplicates: true
noResultsText: "No results, press space key to create a new tag."
animateDropdown: false
$ ->
$("#post_work_list").tokenInput "/posts/work_list.json",
prePopulate: $("#post_work_list").data("pre")
preventDuplicates: true
noResultsText: "No results"
animateDropdown: false
маршруты
get "posts/tags" => "posts#tags", :as => :tags
get "posts/work_list" => "posts#work_list", :as => :work_list
Подробнее здесь: https://stackoverflow.com/questions/182 ... t-in-rails
Как использовать ввод токена jquery в Rails? ⇐ Jquery
Программирование на jquery
-
Anonymous
1761751040
Anonymous
Я пытаюсь добавить поле jquery tokeninput в форму моего приложения, которая позволяет пользователям публиковать обновления статуса. Я хочу, чтобы пользователи могли прикреплять к обновлению статуса работы (отдельную модель). Я использую драгоценный камень act_as_taggable_on, и мой запрос указывает, что контекст тегов «работает». Однако это поле не будет загружать результаты поиска.
На самом деле у меня есть второе поле ввода токена, которое позволяет пользователям прикреплять теги к обновлению статуса, так же, как этот веб-сайт использует теги для прикрепления к этой заявке о проблеме. Это работает нормально! Я пытаюсь отразить эту функциональность, чтобы указать контекст для поиска модели работ, и у меня возникают проблемы с реализацией.
Есть идеи? Ваше время и помощь будут очень признательны! Вот соответствующий код:
модель публикации
attr_accessible :content, :tag_list, :work_list
acts_as_taggable_on :tags
acts_as_taggable_on :works
Пост-контроллер (обновлено)
def work_list
query = params[:q]
@work_list = ActsAsTaggableOn::Tag.includes(:taggings).where("taggings.context = 'works'").where("tags.name ILIKE ?", "%#{params[:q].downcase.to_s}%").all
@work_list = @work_list.select { |v| v.name =~ /#{query}/i }
respond_to do |format|
format.json { render :json => @work_list.map{|w| {:id => w.name, :name => w.name }}}
end
end
def tags
query = params[:q]
if query[-1,1] == " "
query = query.gsub(" ", "")
ActsAsTaggableOn::Tag.find_or_create_by_name(query)
end
#Do the search in memory for better performance
@tags = ActsAsTaggableOn::Tag.all
@tags = @tags.select { |v| v.name =~ /#{query}/i }
respond_to do |format|
format.json{ render :json => @tags.map{|t| {:id => t.name, :name => t.name }}}
end
end
форма
"post_work_list", "data-pre" => @post.work_list.map(&:attributes).to_json %>
Javascript
$ ->
$("#post_tags").tokenInput "/posts/tags.json",
prePopulate: $("#post_tags").data("pre")
preventDuplicates: true
noResultsText: "No results, press space key to create a new tag."
animateDropdown: false
$ ->
$("#post_work_list").tokenInput "/posts/work_list.json",
prePopulate: $("#post_work_list").data("pre")
preventDuplicates: true
noResultsText: "No results"
animateDropdown: false
маршруты
get "posts/tags" => "posts#tags", :as => :tags
get "posts/work_list" => "posts#work_list", :as => :work_list
Подробнее здесь: [url]https://stackoverflow.com/questions/18272186/how-to-use-jquery-tokeninput-in-rails[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия