我正在尝试取消多个模型的范围,如下所示具有acts_as_paranoid的用户模型
class User
acts_as_paranoid
has_one :category
has_one :brand
has_one :item
INDEXED_FIELDS = {
only: [:name],
include: {
category: { only: [:name] },
item: { only:[:name] },
brand: { only: [:name]},
}
}
def custom_json
Category.unscoped do
Item.unscoped do
Brand.unscoped do
self.as_json(INDEXED_FIELDS)
end
end
end
end
end
用户模型具有以下关联,该关联也具有acts_as_paranoid
示例类别模型、品牌和项目模型具有相同的代码
class Category
acts_as_paranoid
belongs_to :user
end
我可以使用“N”个模型动态地执行此操作吗,例如遍历数组,如下所示
def custom_json
[Category, Item, Brand].each do
# do unscoping
end
end
协会看起来像