Дубликаты предметов в коллекции с использованием Rabl Gem - PullRequest
0 голосов
/ 09 июля 2019

У меня есть коллекция объектов. Сообщения с массивом атрибутов читателей:

# app/app.rb
get "/posts", :provides => [:json, :xml] do
  @user = current_user
  @posts = Post.order("id DESC")
  render "posts/index"
end

# app/views/posts/index.rabl
collection @posts
attributes :id, :title, :subject
child(:user) { attributes :full_name }

node(:readers) { |post| post.readers }

Я получаю это:

[{  "post" :
  {
    "id" : 5, "title": "...", "subject": "...",
    "user" : { "full_name" : "..." },
    "readers" : ["Pepito", "Pedro", "Manolo"]
  }
}]

Но я хочу получить это:

[{  "post" :
  {
    "id" : 5, "title": "...", "subject": "...",
    "user" : { "full_name" : "..." },
    "readers" : "Pedro"
  }
},
 {  "post" :
  {
    "id" : 5, "title": "...", "subject": "...",
    "user" : { "full_name" : "..." },
    "reader" : "Manolo"
  }
},
{  "post" :
  {
    "id" : 5, "title": "...", "subject": "...",
    "user" : { "full_name" : "..." },
    "reader" : "Pedro"
  }
}]

Этого можно добиться внутри шаблона rabl.или мне нужно сначала предоставить эту коллекцию.

...