ruby-on-rails - fast_jsonapi 仅返回第一个包含的元素
问题描述
我正在使用 fast_jsonapi gem 来提供响应前端。我有 2 个模型:
class Store < ApplicationRecord
has_many :opening_hours
end
和
class OpeningHour < ApplicationRecord
belongs_to :store
end
我是 StoreController#new,我只想构建一个新的 Store + 7 个“opening_hours”子级,并发送相应的 JSON:
def new
store = Brand.find(params[:brand_id]).stores.new()
[1,2,3,4,5,6,7].map{ |i| store.opening_hours.new(weekday: i) }
render json: StoreSerializer.new(store, options).serializable_hash
end
private
def options
@options ||= {include: %i[opening_hours]}
end
这是我的序列化程序:
class StoreSerializer
include FastJsonapi::ObjectSerializer
attributes :name, :brand_id, :formatted_address, :address_street_number, :address_line1, :address_line2, :address_zip, :address_city, :address_country, :phone, :internal_code
has_many :opening_hours
end
问题是:在生成的 JSON 中,我只得到第一个“opening_hours”元素:
而我肯定有 7 个孩子在关系 > 开放时间 > 数据中。
解决方案
推荐阅读
- python - k-means 聚类中的项数
- python - Stellargraph 无法使用数据洗牌
- c++ - 用于分配结构值的 C++ Switch 语句
- c++ - C++ 函数或不是函数指针编译错误
- nlp - 如何离线获取 elmo 嵌入?
- python - 在没有 python 的目标服务器上执行 ansible playbook 时出错
- button - Discord.JS,如何使用一个不和谐按钮来允许购买各种服务器角色
- android - Android APK 签名 V1 和 V2 冲突
- windows - 用于创建具有 OBS 可捕获的不透明度的 Windows 应用程序的 GUI 框架
- java - 我的 Spigot 1.15.2 代码有什么问题?