2016-04-26 6 views
3

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

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

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

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

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

object false 
child UserDecorator.decorate(current_user) 

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

ответ

0

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

child(user.decorate => :user) 

В rabl's documentation, вы можете добавить дочерние узлы из произвольного источника данных. Например:

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

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

class InvitationDecorator < Draper::Decorator 
    decorates_association :user 
end