Используйте декоратор в рабл
Кто-нибудь знает, как использовать декоратор в файле 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