首先,這是在Rails 4.2中的active_model_serializers版本0.10.2。序列化程序爲什麼不發出JSON API規範?
我有一個文章模型有兩個序列化程序用於不同的場景,但對於這個測試,除了不同的類名稱,ArticleSerializer和ArticleSimpleSerializer之外,它們是完全相同的。我無法弄清楚如何讓ArticleSimpleSerializer以控制器之外的JSON API格式發出JSON。
這裏是我的初始化與全局序列化器配置。
ActiveModelSerializers.config.adapter = :json_api
ActiveModelSerializers.config.jsonapi_resource_type = :singular
ActiveModelSerializers.config.key_transform = :unaltered
什麼工作:
在控制器渲染: 用數據,這些類型都輸出JSON格式API和屬性根密鑰。第一個自動查找並使用ArticleSerializer
render status: :ok, json: @article
render status: :ok, json: @article, serializer: ArticleSimpleSerializer
渲染控制器的與默認查找外: 這將找到ArticleSerializer和輸出將具有數據,類型和屬性根密鑰。
ActiveModelSerializers::SerializableResource.new(article).to_json
什麼行不通:
繪製控制之外與ArticleSimpleSerializer: 這將不包括數據類型或屬性的根密鑰。 JSON基本上是我期望的屬性鍵下。
ArticleSimpleSerializer.new(article).to_json
我怎樣才能讓ArticleSimpleSerializer emil JSON API格式以外的控制器?