Ruby rails 3:如何调试why/where@foo.to_xml抛出NoMethodError(未定义的方法`type';for nil:NilClass)

Ruby rails 3:如何调试why/where@foo.to_xml抛出NoMethodError(未定义的方法`type';for nil:NilClass),ruby,xml,activerecord,Ruby,Xml,Activerecord,@foo是两个activerecord表之间左联接的结果,当第二个表中没有匹配行时,联接的结果是零值 有趣的是,打@foo.to_yaml就可以了 调用@foo.to_json就可以了 但是调用@foo.to_xml会抛出错误NoMethodError(nil:NilClass的未定义方法'type') 即使我使用:skip_types,也会引发相同的错误,例如:即使我使用@foo.to_xml(:skip_instruction=>true,:skip_types=>true) 当某些行在右侧

@foo是两个activerecord表之间左联接的结果,当第二个表中没有匹配行时,联接的结果是零值

有趣的是,打@foo.to_yaml就可以了

调用@foo.to_json就可以了

但是调用
@foo.to_xml
会抛出错误
NoMethodError(nil:NilClass的未定义方法'type')

即使我使用:skip_types,也会引发相同的错误,例如:即使我使用
@foo.to_xml(:skip_instruction=>true,:skip_types=>true)

当某些行在右侧列中没有匹配行时,如何使to_xml在连接的数据集上正常工作


JSON和YAML都正确地显示了“缺失”字段名,但没有值。只有to_xml抛出错误。

得到相同的错误。你看到这个了吗?不,我没看到,这看起来是个问题,谢谢。