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 调用只接受对象数组。

渲染 :json => @project, :serializer => ProjectWithTaskEstimateSerializer

当您想在对象数组中的每个对象上调用序列化程序时,您需要使用 each_serializer。我不知道我是怎么错过的。

渲染 :json => @project, :each_serializer => ProjectSerializer

于 2012-08-10T06:04:52.660 回答