Используйте декоратор в рабл

Кто-нибудь знает, как использовать декоратор в файле Rabl?

collection @invitations
  child(:user)
   attributes ....

Я хочу быть в состоянии сделать это:

collection @invitations
  child(:user => user.decorate)
   attributes ....

Это работает хорошо

object false
child UserDecorator.decorate(current_user)

Я не могу понять правильный синтаксис для моей проблемы.

1 ответ

Я думаю, у вас почти правильный ответ. Я считаю, что вам нужно изменить порядок.

child(user.decorate => :user)

В документации rabl вы можете добавить дочерние узлы из произвольного источника данных. Как это:

child @posts => :foobar do
  attributes :id, :title
end

Другим подходом будет оформление ассоциации пользователей, когда вы оформляете свои приглашения. Если вы используете драгоценный камень, вы можете сделать что-то вроде этого:

class InvitationDecorator < Draper::Decorator
  decorates_association :user
end
Другие вопросы по тегам