Сериализаторы Rails Neo4j.rb?

В Active node, как мы можем реализовать сериализаторы JSON, такие как активный модальный

http://api.rubyonrails.org/classes/ActiveModel/Serializers/JSON.html

Или любой другой способ отправить индивидуальный ответ API?

Прямо сейчас я делаю это, создавая собственный метод в контроллере, в котором ответ выполняется после итераций (количество записей)

posts.map{|x| serialize_post(x) }

def serialize_post (post)
  {
    id: post.id,
    name: post.name
  }
end

person Vishal G    schedule 23.12.2016    source источник


Ответы (1)


Драгоценный камень ActiveNode основан на ActiveModel, поэтому вы должны иметь возможность просто вызвать to_json для него со всеми аргументами, которые он поддерживает. Вы также должны уметь определять методы as_json и from_json:

http://api.rubyonrails.org/classes/ActiveModel/Serializers/JSON.html

Кроме того, я также являюсь большим поклонником стандарта JSON API, поэтому для этого вы можете проверить жемчужина jsonapi-serializers

Изменить:

Активная модель Serilaizer Gem также выполняет эту задачу.

https://github.com/rails-api/active_model_serializers

person Brian Underwood    schedule 23.12.2016
comment
любой способ включить это в базовый контроллер jsonapi-serializers. Я использую для него ActionController:: Metal или любой другой драгоценный камень? - person Vishal G; 23.12.2016
comment
Я точно не уверен, но этот пример, похоже, jsonapi-serializers интегрируется с Rails: github.com /fotinakis/jsonapi-serializers#rails-example - person Brian Underwood; 23.12.2016