Tengo una persona objeto de que has_many papeles. Los roles, a su vez, pertenecen a la aplicación. Estoy usando el siguiente fragmento de código para hacer que esta relación profunda en XML:Filtrado profundas asociaciones en to_xml Rails
format.xml { render :text => @person.to_xml(:include => { :roles => { :include => :application } }) }
representación a cabo algo como esto:
<person>
<email>****@****.edu</email>
<first>Christopher</first>
<last>****</last>
<loginid>****</loginid>
<roles type="array">
<role>
<application-id type="integer">3</application-id>
<name>Access</name>
<application>
<name>****</name>
</application>
</role>
<role>
<application-id type="integer">2</application-id>
<name>Create Ballots</name>
<application>
<name>****</name>
</application>
</role>
</roles>
</person>
Esto funciona, sin embargo, me gustaría filtrar qué aplicaciones y roles que muestra. Me gustaría mostrar solo roles (y por lo tanto, anidados dentro de ellos, aplicaciones) donde application_id es un cierto entero. Por ejemplo, la siguiente salida si yo estaba buscando solamente == application_id 3:
<person>
<email>****@****.edu</email>
<first>Christopher</first>
<last>****</last>
<loginid>****</loginid>
<roles type="array">
<role>
<application-id type="integer">3</application-id>
<name>Access</name>
<application>
<name>****</name>
</application>
</role>
</roles>
</person>
Gracias de antemano por cualquier ayuda que pueda ofrecer.
¿Qué solución acabaste la implementación? ¿Mi respuesta te ayudó? – alex
Sí, fue útil pero terminé usando el motor de plantillas XML Builder. – Christopher