3

我正在使用active_model_serializers为我的 Rails 模型创建 JSON。

串行器

class OptionSerializer < ActiveModel::Serializer
  self.root = false

  attributes :id

  def test_id
    object.id
  end
end

但是,to_json 选项似乎忽略了 OptionSerializer 中添加的方法:

OptionSerializer.new(Option.find(13)).to_json.html_safe

预期产出

{
  "id":      13,
  "test_id": 13
}

实际输出

{
  "id": 13
}

我已经查看了这篇 SO 帖子,但这是我能找到的唯一一篇遇到此问题的帖子。

我正在运行 Ruby 1.9.3 和 Rails 4.0.0。感谢您的时间。

任何支持、意见或建议将不胜感激。

4

1 回答 1

3

在属性列表中,您还应该指定 test_id

attributes :id, :test_id
于 2013-10-22T03:35:19.393 回答