Rails中的ActiveModel :: Serializer - JSON结果中忽略的序列化方法

时间:2013-10-22 02:42:54

标签: ruby-on-rails json serialization ruby-on-rails-4 active-model-serializers

我正在使用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
}

我已经审核了this SO post,但这是我能找到的唯一有人遇到此问题的帖子。

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

非常感谢任何支持,意见或推荐。

1 个答案:

答案 0 :(得分:2)

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

attributes :id, :test_id