Возврат дочерних узлов, где есть связь HABTM в Rails API, используя Rabl - PullRequest
2 голосов
/ 14 февраля 2012

Я использую популярный гем Rabl для создания JSON API в Rails.Однако у меня возникли некоторые трудности с пониманием того, как вернуть результаты ассоциации HABTM.У меня есть модель под названием Sale и модель под названием Товар.Ассоциация HABTM указана для каждого.Мой файл .rabl выглядит следующим образом.

object @ sales

attributes :name, :date_start, :date_end

child :merchandises do
    attributes :name
end

Моя модель просто передает @sales = Sale.all.

Ничего не возвращается вообщеу ребенка, хотя многие строки имеют действительные отношения.Есть ли что-то еще, что мне нужно сделать?

1 Ответ

2 голосов
/ 14 февраля 2012

Попробуйте проверить https://github.com/nesquena/rabl/issues/149 вопрос. Возможно сделать:

collection @sales
attributes :name, :date_start, :date_end
node :merchandises do |s|
  s.merchandises.to_a.map { |m| { :name => m.name } }
end

и посмотрите, будет ли это работать лучше?

...