nil列的Rails serializable_hash错误

时间:2014-06-17 20:50:49

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

有一个我无法渲染json的错误(我被抛出一个TypeError:nil不是一个符号),如果我的一个列是nil。

像User.first.serializable_hash之类的东西会抛出这样的错误:

TypeError: nil is not a symbol
    from /usr/local/rvm/gems/ruby-2.0.0-p247@global/gems/activemodel-4.0.3/lib/active_model/serialization.rb:108:in `block in serializable_hash'
    from /usr/local/rvm/gems/ruby-2.0.0-p247@global/gems/activemodel-4.0.3/lib/active_model/serialization.rb:108:in `each'
    from /usr/local/rvm/gems/ruby-2.0.0-p247@global/gems/activemodel-4.0.3/lib/active_model/serialization.rb:108:in `serializable_hash'
    from /usr/local/rvm/gems/ruby-2.0.0-p247@global/gems/activerecord-4.0.3/lib/active_record/serialization.rb:17:in `serializable_hash'

有人遇到过这个问题吗?我知道我可以使用activemodel序列化器但是我必须为每个模型打开一个(我不能为特定控制器关闭它)。

另外:我正在使用rails 4来构建api并使用mysql2适配器gem(如果重要)

0 个答案:

没有答案