2013-08-23 2 views

答えて

9

jsonに最初に変換できます。デフォルトのActiveRecord as_jsonメソッドでは、アソションを含めることができます。そこからyamlに変換するのは簡単です。例:

menu.as_json(include: :dishes).to_yaml 
+1

私は、これは(Railsの3.2.13、ルビー1.9.3)動作しない見つけます。 – JellicleCat

+0

ありがとう、@ JellicleCat。私はレール3.2.13でオリジナルの答えをテストしたところ、 'to_yaml'メソッドに渡されたときに' include'オプションが何もしなかったことがわかりました。私は、最初にjson( 'include'オプションを考慮)に変換してからyamlに変換するように答えを更新しました。 – mchail

+0

これはRails 4、Ruby 2では動作しません。投票する。 – Sixty4Bit

4

to_yamlには、パラメータを無視します...しかし、あなたは次のことを行うことができます:

Hash.from_xml(menu.to_xml include: :dishes).to_yaml