我的应用程序具有以下版本:rails 6.0.0
,ruby 2.6.3
。
我在应用程序中大约有20个控制器,我们计划在应用程序中使用fast-json-api
而不是rabl
作为序列化程序。我发现每个控制器的序列化器文件数量增长很快。 (下面的截图)。
是否有更好的方法来组织所有序列化程序?
我尝试了以下两种组织方式:
以其型号名称(如rabl)组织一个控制器的所有序列化器
但是它给了我这个错误:
NameError (uninitialized constant Api::V1::LexiconsController::ListNodeSerializer)
我可以通过将所有SerializerClassNames保留在该控制器的同一serialzer文件中来在单个Serializer中呈现不同的api视图吗?
类别控制器的序列化器
class ShowSerializer < ApplicationSerializer
cache_options enabled: true, cache_length: 24.hours
attributes :name, :status, :description
end
class IndexSerializer < ApplicationSerializer
attributes :name, :status, :thumbnail, :definition
attributes :area do |area|
area.country.try(:name).try(:html_safe)
end
end