时间:2019-12-11 06:38:38

标签: ruby-on-rails ruby-on-rails-6 fastjsonapi

我的应用程序具有以下版本:rails 6.0.0ruby 2.6.3

我在应用程序中大约有20个控制器,我们计划在应用程序中使用fast-json-api而不是rabl作为序列化程序。我发现每个控制器的序列化器文件数量增长很快。 (下面的截图)。


问题

是否有更好的方法来组织所有序列化程序?

我尝试了以下两种组织方式:

  1. 以其型号名称(如rabl)组织一个控制器的所有序列化器

    serializer

    但是它给了我这个错误:
    NameError (uninitialized constant Api::V1::LexiconsController::ListNodeSerializer)

  2. 我可以通过将所有Seri​​alizerClassNames保留在该控制器的同一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

0 个答案:

没有答案