Массив JSON JBuilder

Я использую Ruby on Rails и драгоценный камень Jbuilder.

Я пытаюсь получить атрибут такой точки:

{
"point":[33,11]
}

Моя модель такая

class Point < ActiveRecord::Base
attr_accessible :x, :y
end

Я пытаюсь с этим, но не удалось, он возвращает точку в виде строки, и мне это нужно как целое число.

json.point "[#{point.x},#{point.y}]"

Спасибо!!!!


person Edu Lomeli    schedule 17.11.2012    source источник
comment
Вы пробовали point.x.to_i ?   -  person R Milushev    schedule 17.11.2012
comment
да, но все равно не ок, возвращает: [33,11] а мне нужно [33,11]   -  person Edu Lomeli    schedule 17.11.2012
comment
Я вижу, вы можете попробовать метод, который принимает точки.x и точки.y и возвращает массив [point.x,point.y] (как вы знаете, [] представляет массив в Ruby).   -  person R Milushev    schedule 17.11.2012
comment
оно работает! напишу ответ спасибо!   -  person Edu Lomeli    schedule 17.11.2012


Ответы (1)


Основываясь на комментарии Кумары, вы должны вызвать point.x.to_i и point.y.to_i.

Вы также должны удалить кавычки вокруг параметра массива.

Рассматриваемая строка внутри вашего блока JBuilder должна выглядеть так:

json.point [point.x.to_i,point.y.to_i]
person Jacob Brown    schedule 17.11.2012
comment
Оно работает! Я добавил новый метод в модель Point, чтобы вернуть массив точек, который совпадает с вашим ответом. Спасибо!! - person Edu Lomeli; 17.11.2012