2013-12-10 2 views
1

Подобно this question, интересно, как настроить виноград (построить на вершине Rails), чтобы отправить все связанные идентификаторы в hasMany связи с запрашиваемым объектом, так как угасающий ожидает этот формат:Как получить Grape для генерации JSON в правильном формате для ember.js?

{ "customer": { "projects": [1, 2, 3] } } 

Поскольку виноград имеет его собственный сериализатор, я не могу сделать что-то вроде этого

class PostSerializer < ActiveModel::Serializer 
    embed :ids 

    attributes :id, :title, :body 
    has_many :comments 
end 

есть ли простое решение, как embed :ids или я должен добавить идентификаторы вручную?

ответ

4

Использование винограда сущности, это будет похоже на что:

class CustomerEntity < Grape::Entity 
    expose (:projects) { |entity| entity.projects.pluck(:id) } 
end 
+0

Спасибо, я дам ему попробовать. В противном случае я могу использовать https://github.com/jrhe/grape-active_model_serializers. Или я должен использовать Grape Entities по некоторым причинам? – Slevin

+0

Почти никогда не рекомендуется использовать сериализаторы с виноградом. Entites был встроен в виноград до версии 0.3 – NARKOZ

 Смежные вопросы

  • Нет связанных вопросов^_^