Я пытаюсь структурировать свой список сообщений в блоге так, чтобы каждый объект сообщения в блоге имел все связанные данные. Мне нужно, чтобы это было структурировано так, потому что я передаю данные в мой JavaScript-интерфейс.
Мне нужна структура данных с простыми записями, подобными этой:
[
<BlogPost id: 12,
image: "image.png",
title: "corrupti",
content: "\n## Fuga eveniet beatae necessitatibus excepturi c...",
blog_author: {
id: 8,
name: "Theodan Wells"
},
blog_category: {
id: 6,
name: "Marketing"
}>
]
Ассоциации, вероятно, очевидны, но все равно вот мои модели:
class BlogPost < ApplicationRecord
belongs_to :blog_author, inverse_of: :blog_posts
belongs_to :blog_category, inverse_of: :blog_posts
end
class BlogAuthor < ApplicationRecord
has_many :blog_posts, inverse_of: :blog_author
end
class BlogCategory < ApplicationRecord
has_many :blog_posts, inverse_of: :blog_category
end
Я уверен, что мне нужно использовать includes
или joins
, а затем каким-то образом собрать атрибуты, чтобы включить их в коллекцию, но я просто не знаю, как это сделать.
Я знаю, как это сделать, вручную сформировав структуру данных с помощью collect
и map
, но в прошлый раз, когда я использовал эти методы, мои серверные ответы замедлились в десять раз. Буквально пошло с 8 до 0,8, когда я в прошлый раз вынул выписки.