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 для этого.

Другие вопросы по тегам