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

2024-03-25

我在用active_model_serializers https://github.com/rails-api/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
}

我已审查过这个帖子 https://stackoverflow.com/questions/13367656/using-activemodelserializer-in-rails-json-data-differs-between-json-and-inde,但这是我能找到的唯一一篇有人遇到此问题的帖子。

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

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


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

attributes :id, :test_id
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 中的 ActiveModel::Serializer - JSON 结果中忽略序列化器方法 的相关文章

随机推荐