jbuilderからactive_model_serializers(AMS v0.9)に移行する際に問題があります。 Previus jsonを構築するには、シリアライザに引数として渡す必要がある別のオブジェクトが必要です。rails gemでシリアライザに引数を渡すactive_model_serializers
私はいくつかのオプションがあることを見てきましたが、何も私のために働いていません。
def show
serialized_profile = ProfileSerializer.new(@profile, root: false,
scope: current_relationship,
couple_ser: @couple,
partners_ser: @partners)
respond_to do |format|
format.html
format.json { render json: serialized_profile }
end
end
@profile
、@couple
と@partner
がbefore_action
に設定されています。ここでは
は、私は、シリアライザを呼び出して、私のコントローラです。ここ
そして、私のシリアライザです:
class ProfileSerializer < ActiveModel::Serializer
attributes :couple
def couple
return nil if serialization_options[:couple_ser].nil?
serialization_options[:couple_ser]
end
end
事は、私は私のコントローラは、showメソッドを要求する変数@couple
を持っていることを完全に確信しているということです。しかし、常にそのnullをスローします。
私は、レール上の比較的新しいルビーです。だから、誰かが私を助けることができますか?
私は議論すべきコードの本質的な部分だけを掲載しました。
乾杯
あなたのお返事ありがとうございます。 私たちはAMS v0.9を使用していますが、引数を渡すこのオプションは推奨されていません。 すぐにv0.10にアップグレードし、アップグレード後に一部のAMS実装が壊れているため、まだ動作していないかどうかを確認します。 しかしすぐにアップグレードしてこの質問を更新します。 – adrianorob