ActiveRecordモデルをデバッグの目的でYAML形式で印刷したいと考えています。モデルの関連付けをYAML形式に変換できますか?
現在、私はmodel.to_yaml
を呼び出しています。しかし、モデルの関連は返されません
どのようにして関連付けられたモデルをYAML形式に変換できますか?
ActiveRecordモデルをデバッグの目的でYAML形式で印刷したいと考えています。モデルの関連付けをYAML形式に変換できますか?
現在、私はmodel.to_yaml
を呼び出しています。しかし、モデルの関連は返されません
どのようにして関連付けられたモデルをYAML形式に変換できますか?
jsonに最初に変換できます。デフォルトのActiveRecord as_json
メソッドでは、アソションを含めることができます。そこからyamlに変換するのは簡単です。例:
menu.as_json(include: :dishes).to_yaml
to_yamlには、パラメータを無視します...しかし、あなたは次のことを行うことができます:
Hash.from_xml(menu.to_xml include: :dishes).to_yaml
私は、これは(Railsの3.2.13、ルビー1.9.3)動作しない見つけます。 – JellicleCat
ありがとう、@ JellicleCat。私はレール3.2.13でオリジナルの答えをテストしたところ、 'to_yaml'メソッドに渡されたときに' include'オプションが何もしなかったことがわかりました。私は、最初にjson( 'include'オプションを考慮)に変換してからyamlに変換するように答えを更新しました。 – mchail
これはRails 4、Ruby 2では動作しません。投票する。 – Sixty4Bit