Я был очень рад узнать о as_json, чтобы сделать мой код СУХИМ.И я добавил в модель следующее:
class ProductType < ActiveRecord::Base
has_many :component_types
def as_json(parameter)
{:name => self.name,
:description => self.description,
:children => self.componentTypes}
end
end
Это здорово.Единственное, что для моего клиентского приложения, мне нужно обернуть полученный ответ в этот формат (где «items» содержит то, что создано as_json):
{
"identifier": "name",
"label": "name",
"items":
[
{
"name": "myName1",
"description": "myDesc1",
"children":[]
},
{
"name": "myName2",
"description": "myDesc2",
"children":[]
}
]
}