Tôi có đối tượng Person có vai trò has_many. Vai trò, lần lượt, thuộc về ứng dụng. Tôi đang sử dụng đoạn mã sau đây để làm cho mối quan hệ sâu này vào XML:Lọc các liên kết sâu trong Rails 'to_xml
format.xml { render :text => @person.to_xml(:include => { :roles => { :include => :application } }) }
Rendering ra một cái gì đó như thế này:
<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>
này hoạt động, tuy nhiên, tôi muốn lọc các ứng dụng và vai trò của nó hiển thị. Tôi muốn chỉ hiển thị các vai trò (và do đó, lồng nhau trong chúng, các ứng dụng) trong đó application_id là một số nguyên nhất định. Ví dụ: đầu ra sau nếu tôi chỉ đang tìm kiếm 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>
Cảm ơn bạn đã giúp đỡ.
Bạn đã thực hiện giải pháp nào? Câu trả lời của tôi có giúp bạn không? – alex
Có, nó rất hữu ích nhưng tôi đã kết thúc bằng cách sử dụng công cụ tạo khuôn mẫu XML Builder. – Christopher