0

Jose Valimのactive_model_serializers Gemで遊んでいます。

コントローラーでカスタムシリアライザーを呼び出そうとしていますが、必要:jsonに応じて使用していないようですActiveModel::ArraySerializer

default active_model_serializerコントローラーでを定義すると、シリアライザーは正常に動作します。ただし、コントローラーで次のようなカスタムを呼び出すと:

render :json => @project, :serializer => ProjectSerializer

次のエラーが表示されます。

wrong number of arguments (0 for 1)

Ruby 1.9.2 と Rails 3.2.7 を使用しています。特定のモデルに対していくつかの異なるシリアライザーを作成する必要があるため、助けていただければ幸いです。

ありがとう!

4

1 に答える 1

0

だから私はクラックか何かをしていたに違いありません。:serializer 呼び出しは、オブジェクトの配列のみを受け入れます。

render :json => @project, :serializer => ProjectWithTaskEstimateSerializer

オブジェクトの配列内の各オブジェクトでシリアライザーを呼び出したい場合は、each_serializer を使用する必要があります。どうやってこれを逃したのかわからない。

render :json => @project, :each_serializer => ProjectSerializer

于 2012-08-10T06:04:52.660 に答える