to_json无法正常工作,因为反射是错误的

时间:2010-09-27 07:29:12

标签: ruby-on-rails-3

我有一个名为 Foo 的课程,如下所示:

class Foo < ActiveRecord::Base 
  belongs_to othermodel 
end 

和类看起来像这样:

class Bar  < Foo 
   belongs_to thirdmodel
end 

当我尝试使用:bar.first.to_json(:include。)序列化bar时 =&GT; :othermodel),它在生产模式下失败。奇怪的是它有效 发展环境。我挖了一圈,发现了 bar.first.class.reflections.keys只包含“thirdmodel”而不是 生产模式中的“othermodel”。

我无法解释,在rails 2和开发环境中它 工作完美。

错误是:

NoMethodError: undefined method `macro' for nil:NilClass
   from ~/.rvm/gems/ruby-1.9.2-p0/gems/activerecord-3.0.0/lib/active_record/serialization.rb:41:in `block in serializable_add_includes'

1 个答案:

答案 0 :(得分:0)

问题在于思考狮身人面像。删除它并用自己的解决方案替换它,现在它完美地工作。