@foo は、2 つの activerecord テーブル間の LEFT JOIN の結果です。2 番目のテーブルに一致する行がない場合、JOIN の結果として nil 値があります。
興味深いことに、@foo.to_yaml の呼び出しは問題ありません。
@foo.to_json の呼び出しは問題ありません。
しかし、呼び出すと@foo.to_xml
エラーがスローされますNoMethodError (undefined method 'type' for nil:NilClass)
:skip_types を使用しても同じエラーがスローされます。@foo.to_xml(:skip_instruct => true, :skip_types => true)
一部の行の右側の列に一致する行がない場合、結合されたデータセットで to_xml を正常に機能させるにはどうすればよいですか?
JSON と YAML は両方とも「欠落している」フィールド名を正しく表示しますが、値はありません。to_xml のみがエラーをスローしています。