JSON формат от рельсов до прорастания
Для тех из вас, кто использует Rails в качестве бэкенда для своих клиентов Sproutcore, какой из них является лучшим способом для форматирования данных в json?
Из руководств Sproutcore был такой подход:
def as_json(options = {})
event_hash = {
"guid" => self.id,
"id" => self.id,
"designation" => self.designation,
"category" => self.category,
"scheduled_for" => self.scheduled_for,
"location" => self.location,
"groups" => self.groups,
"resources" => self.resources
}
event_hash
end
Но это не удается, отправьте "Недопустимая ошибка заявления". Затем я переключился на этот другой метод:
def as_json(options = {})
# event_hash = options.merge(:include => [:groups, :resources], :methods => :guid)
event_hash = options.merge(:methods => :guid)
super(event_hash)
end
который, кажется, работает с точки зрения форматирования, хотя я подозреваю, что это вызывает некоторые проблемы с представлением в dataHash хранилища. В любом случае, у кого-нибудь были подобные проблемы с первой версией as_json? Если нет, то я что-то не так делаю?
Цени любую помощь
1 ответ
Решение
По первому методу нужно вызвать super:
def as_json(options = {})
event_hash = {
"guid" => self.id,
"id" => self.id,
"designation" => self.designation,
"category" => self.category,
"scheduled_for" => self.scheduled_for,
"location" => self.location,
"groups" => self.groups,
"resources" => self.resources
}
super(event_hash)
end
Однако вы должны получить параметры param и process для этого.