【发布时间】:2012-08-03 18:59:34
【问题描述】:
我正在玩 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。感谢任何帮助,因为我需要为任何给定模型创建一些不同的序列化程序。
谢谢!
【问题讨论】:
-
您确定错误在该行吗?
render的签名是render(*args, &block),因此即使@project是nil,您也不会收到此错误。另外,您的 ProjectSerializer 代码是什么样的? -
如果
@project是一个数组,它可能应该命名为@projects。这不会解决问题,但它会更有意义并有助于调试。
标签: ruby-on-rails json gem active-model-serializers