例如,我有一个代表,如下所示:
module AccountRepresenter
include Roar::Representer::JSON
include Roar::Representer::Feature::Hypermedia
property :id
property :name
collection :assets, :extend => AssetRepresenter, :class => Asset
end在控制器中,我将其用作:
respond_with @accounts, represent_with: AccountsRepresenter对于另一个动作,我不希望collection :assets出现。我试过了
respond_with @accounts, represent_with: AccountsRepresenter, exclude: :assets但不起作用。我应该如何将争论传递给陈述者?
发布于 2013-12-10 21:23:48
Roar使用的是下面可表示的(https://github.com/apotonick/representable#conditions)。您可以执行以下操作以具有条件功能:
respond_with @accounts, represent_with: AccountsRepresenter, exclude: [:assets]然后
module AccountRepresenter
include Roar::Representer::JSON
include Roar::Representer::Feature::Hypermedia
property :id
property :name
collection :assets, extend: AssetRepresenter, if: lambda { |opts| !opts[:exclude].includes?(:assets)] }
endhttps://stackoverflow.com/questions/18576742
复制相似问题