【问题标题】:Combine two Active Model Serializers v 0.10结合两个 Active Model Serializers v 0.10
【发布时间】:2015-07-04 20:40:13
【问题描述】:

我想做与本文相同的技巧 - https://thoughtbot.com/blog/fast-json-apis-in-rails-with-key-based-caches-and,但在 AMS 0.10.0.rc 中是不可能的,因为 AMS 没有 #serializable_hash 方法。

你会建议做什么呢?

【问题讨论】:

    标签: ruby-on-rails active-model-serializers


    【解决方案1】:

    更新到新版active_model_serializers

    class BusinessDistanceSerializer < ActiveModel::Serializer
      attributes :distance
    
      def attributes options = {}, reload = false
        data = super
        data.reverse_merge! ActiveModel::Serializer.adapter.new(BusinessSerializer.new(object)).serializable_hash
        data
      end
    
    end
    

    注意reload = false 参数。

    【讨论】:

    • 这太好了,谢谢。请注意,语法已更改为:ActiveModelSerializers::Adapter.configured_adapter.new
    【解决方案2】:

    这就是我的做法。

    class BusinessDistanceSerializer < ActiveModel::Serializer
      attributes :distance
    
      def attributes options = {}
        data = super
        data.reverse_merge! ActiveModel::Serializer.adapter.new(BusinessSerializer.new(object)).serializable_hash
        data
      end
    
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-27
      • 1970-01-01
      相关资源
      最近更新 更多