Я следующий RABL в моих взглядах:рубин карта JSON множественным, но не все атрибуты с RABL
node(:relations) do |p|
related = p.relations.pluck(:related_to_id)
Spree::Product.find(related)
end
Это делает следующее:
"relations": [
{
"product": {
"id": 2,
"name": "T-SHIRT",
"description": "Awesome T shirts"
"created_at": "..."
"updated_at: "..."
.
.
.
bunch of other columns that I don't need.
Мой вопрос, как я только захватить :name
и :description
, так что выход JSON выглядит следующим образом:
"relations": [
{
"product": {
"name": "T-SHIRT",
"description": "Awesome T shirts"
}
]
Я пробовал отображение его, Spree::Product.find(related).map { |r| [r.name, r.description] }
Но это возвращает только те значения, например, так:
"relations": [
"T-SHIRT",
"Awesome T shirts"
]
Спасибо за вашу помощь!
UPDATE:
Когда я пишу:
child :related_products do
attributes :name, :description
end
я получаю:
"spree_relations": [
{}
]
Ссылка на модель:
https://github.com/spree-contrib/spree_related_products/blob/master/app/models/spree/relation.rb
Можете ли вы использовать '.select' как' Spree :: Product.select («name, description») ' – Sontya