我正在和Jose Valim的active_model_serializers宝石一起玩。
我正在尝试在控制器中调用自定义序列化程序,看起来: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。任何帮助都表示赞赏,因为我需要为任何给定的模型创建一些不同的序列化器。
谢谢!
答案 0 :(得分:0)
所以我一定是在破解什么的。 :serializer调用只接受数组的对象。
渲染:json => @project,:serializer => ProjectWithTaskEstimateSerializer
如果要在对象数组中的每个对象上调用序列化程序,则需要使用each_serializer。我不确定我是怎么错过这个的。
渲染:json => @project,:each_serializer => ProjectSerializer