Я пытаюсь создать текстовое поле для автозаполнения в приложении rails. Моя проблема касается настроенного источника данных.
Вот как я получаю данные:
Я ищу имя контакта, идентификатор и добавляю категорию, чтобы показать его при автозаполнении, используя этот пример
Если пользователь - друг, категория - это контакты, в противном случае категория - другие
@result = Array.new
# find the current user id when its viewed as a contact
@current_contact = Contact.find_by_user_id(current_user).id
#go through all the contacts
Contact.order('name ASC').each do |a|
#if the current contact is a friend of the user
if Relationship.find_by_user_id_and_contact_id(current_user, a)
#add it to the array with the 'contacts' category
@result << [a.name, a.id, 'contacts']
else
#if its not a friend, and its not himself, add it to the array with the 'others' category
unless @current_contact == a.id
@result << [a.name.to_s,a.id, 'others']
end
end
end
Как вывести этот формат, чтобы функция автозаполнения могла использовать его в качестве источника данных?
В примере показан формат, который я ищу, который выглядит как формат json
var data = [
{ label: "andreas andersson", category: "People" },
{ label: "andreas johnson", category: "People" }
];
Но я не могу перевести мой вывод в этот. Я пробовал
@result.to_json
var data = [["AL Tohtori", 279, "others"], ["Abat Karine", 296, "others"]]
с
@result.map {|r| {:label => r[0], :value => r[1], :category => r[2] } }
У меня тоже не может быть этого.
Есть предложения?
Спасибо!