RailsコントローラーからのJSON応答をレンダリングするために、アクティブモデルシリアライザーを使用しています。
次のようなコントローラー アクションがあります。
def show
@foo = Foo.find(params[:id])
if @foo.user == current_user
render json: @foo, serializer: FooSerializer
else
render json: @foo, serializer: TrimmedFooSerializer
end
end
Rspec コントローラーのテストで使用されたシリアライザーをテストできるようにしたいと考えています。テストからシリアライザーへの参照を取得することは可能ですか?
アップデート:
これはシリアライザの正しい使い方ではないと思います。シリアライザー自体に、条件付きで属性を含めるためのロジックが追加されました。コントローラーは、どのシリアライザーを使用するかを気にする必要はありません。