1

渲染具有嵌套关联的模型的 json 时,出现以下错误:

undefined method `serializable_hash' for #<ActiveModel::ArraySerializer:0x007fe761592d88>

这是我的代码:

class EventSerializer < ActiveModel::Serializer
  attributes :id, :name, :date

  has_many :markets
end

class MarketSerializer < ActiveModel::Serializer
  attributes :id, :bet_limit_time

  has_many :options
end

class OptionSerializer < ActiveModel::Serializer
  attributes :id, :name, :odds
end

呈现选项关联时出现错误。

这是一个非常简单的案例,但我没有发现任何问题。

4

1 回答 1

0

我认为拥有一个名为options. 请参阅https://stackoverflow.com/a/16005874/157943

“事实证明,使用 :option 作为属性名称会导致冲突。可能还有其他冲突的名称。必须小心命名空间!”

除了重命名关联之外,不确定如何修复它options(可能您可以通过手动覆盖#attributes和构建哈希来手动构建它?)

于 2013-11-21T11:59:52.807 回答