ruby-on-rails - 如何在 Rails 中使用 Grape 包含关系
问题描述
在我的葡萄应用程序中,我想更改每个广告系列的已使用campaign_codes
和全部返回(作为响应)数量。campaign_codes
为此,我还需要返回关系对象。这是我的序列化程序:
module V1
module AdminPanel
module Serializers
class CampaignSerializer
include FastJsonapi::ObjectSerializer
attributes :total_campaign_codes_amount, :used_campaign_codes_amount
attribute :total_campaign_codes_amount do |campaign|
campaign.campaign_codes.count
end
attribute :used_campaign_codes_amount do |campaign|
campaign.campaign_codes.where(state: 'used').count
end
end
end
end
end
但是使用此代码,我收到一个错误:
ArgumentError(campaign_codes 未指定为 V1::AdminPanel::Serializers::CampaignSerializer 上的关系)
如果我添加has_many :campaign_codes
它会起作用,但另外我会返回所有campaign_codes
我不想要的东西。
有没有机会在没有得到所有代码的响应的情况下到达include
某个地方?campaign_codes
解决方案
推荐阅读
- c# - 在 Oracle 中查询不完整的参数
- c# - 相同的主键指向列中的多个值。C#中的插入
- c# - 显示 OpenFileDialog 有时会导致应用程序挂起
- javascript - 如何将输入从 React Form 传递给 Axios 获取请求并显示请求结果?
- c - 不能用 gcc-7 编译
- python - 如何在您的计算机上运行尽可能多的线程
- fonts - 试图将拉脱维亚字符打印到 Zebra ZT230
- session - Extbase - 将域对象存储到 TYPO3 会话中
- c# - 如何使用 MVCGrid.net 和 C# 正确编码 ASP.NET MVC 网站的字符串
- r - R从被调用函数内部查找受让人变量的名称