2016-06-17 6 views
3

私は地元の人々に合格しようとしています初期化中、またはto_jsonへの呼び出し中に発生します。さらに、私はOptionTypeSerializerでこの渡されたパラメータを読み取ることができません。私はoptions[:prod]serialization_options[:prod]serialization_opts[:prod]と私がstackoverflowで見つけたいくつかの異なる解決策を試してみましたが、うまくいきませんでした。私のAMSが習得し、自分のgemfile.lock AMSのバージョンにするために指されactive_model_serializers (0.10.0.rc5)パス地元の人々は

はまた、使用してみましたさ :

@options_json = ActiveModel::SerializableResource.new(@option_types, serialization_context: ActiveModelSerializers::SerializationContext.new(request), prod: @product.id).to_json 

が、それは時はいつでも私

答えて

0

nullではないが、ヌルとしてinstance_options[:prod]の値を取得します私はこのような何かをシリアライザにオプ​​ションを渡す必要があります:THIで

# Controller 
class CatalogPagesController < ApplicationController 

    # GET /catalog_pages/event/:id 
    def event 
    @catalog_pages = @event.catalog_pages 
    render json: @catalog_pages, index: true, each_serializer: Adm::CatalogPageSerializer 
    end 
end 

# Serializer 
class CatalogPageSerializer < Adm::FormSerializer 
    attributes :id, :body, :catalog_page_templates 

    def include_catalog_page_templates? 
    return true unless @options[:index].present? 
    end 
end 

たとえば、インデックスルートから来るときに条件付きでJSONの特定の要素を返さないようにしたいとします。

+0

これはnilのための '未定義のメソッド' [] 'につながります:@options [:prod]のNilClass' – vipin8169

+0

私はこのバージョンのgemを使用しています。 'gem 'active_model_serializers'、 '〜> 0.8.3''です。おそらくオプションはそれ以来変わっていますか? – Dan

関連する問題