在rabl

时间:2016-04-26 14:02:13

标签: ruby-on-rails rabl

有没有人知道如何在rabl文件中使用装饰器?

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

我希望能够做到这一点:

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

这很好用

object false
child UserDecorator.decorate(current_user)

我无法找出问题的正确语法。

1 个答案:

答案 0 :(得分: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