удалить кавычки из jbuilder json

Я новичок в рельсах и jbuilder, поэтому я не уверен, что это выполнимо или нет. Я использую этот плагин автозаполнения jquery http://www.devbridge.com/sourcery/components/jquery-autocomplete/ и ожидаемый ответ должен быть в формате

{
    query:'Li',
    suggestions:['Liberia', 'Libyan Arab Jamahiriya', 'Liechtenstein', 'Lithuania'],
    data:['LR', 'LY', 'LI', 'LT']
}

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

{"query":"Comp","suggestions":"['Test Company','Test Company 2','Test company','tester chester','before create test']","data":"['1','2','3','4','5']"}

Похоже, что это приводит к тому, что плагин не работает, так что есть ли способ удалить двойные кавычки из возвращенного json? Вот как выглядит мой файл jbuilder.

suggestions = ""
data = ""

@companies.each do |company|
  suggestions += "'" + company.name + "',"
  data += "'" + company.id.to_s + "',"
end

json.query @query
json.suggestions "[" + suggestions[0...-1] + "]"
json.data "[" + data[0...-1] + "]"

Спасибо!


person geoff swartz    schedule 30.04.2014    source источник
comment
Опубликуйте это как ответ и примите, не стесняйтесь =)   -  person zishe    schedule 01.05.2014


Ответы (1)


Я нашел решение (или мы с коллегой;) Код jbuilder был изменен на это. Вместо того, чтобы создавать строку, мне нужно было передать сборщику json массив.

suggestions = []
data = []

@companies.each do |company|
  suggestions.push(company.name)
  data.push(company.id)
end

json.query @query
json.suggestions suggestions
json.data data
person geoff swartz    schedule 01.05.2014