我有一个名为 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'
答案 0 :(得分:0)
问题在于思考狮身人面像。删除它并用自己的解决方案替换它,现在它完美地工作。