A.9. 解析阵列
在编写或修改模板时,您可能会遇到返回数组的变量。例如,与网络接口相关的主机变量,如 @host.interfaces
或 @host.bond_interfaces
,返回分组中的接口数据。要提取特定接口的参数值,请使用 Ruby 方法解析阵列。
查找修复方法解析阵列
以下流程是一个示例,您可以用来查找模板中解析阵列的相关方法。本例中使用了报告模板,但步骤适用于其他模板。
要检索内容主机的 NIC,在本例中,使用
@host.interfaces
变量返回类值,然后您可以使用查找方法来解析阵列。输入示例:
<%= @host.interfaces -%>
<%= @host.interfaces -%>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 渲染示例:
<Nic::Base::ActiveRecord_Associations_CollectionProxy:0x00007f734036fbe0>
<Nic::Base::ActiveRecord_Associations_CollectionProxy:0x00007f734036fbe0>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
在 Create Template 窗口中,点 Help 选项卡并搜索
ActiveRecord_Associations_CollectionProxy
和Nic::Base
类。 对于
ActiveRecord_Associations_CollectionProxy
,在 Allowed method 或 member 列中,您可以查看以下方法来解析阵列:[] each find_in_batches first map size to_a
[] each find_in_batches first map size to_a
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于
Nic::Base
,在 Allowed method 或 member 列中,您可以查看以下方法来解析阵列:alias? attached_devices attached_devices_identifiers attached_to bond_options children_mac_addresses domain fqdn identifier inheriting_mac ip ip6 link mac managed? mode mtu nic_delay physical? primary provision shortname subnet subnet6 tag virtual? vlanid
alias? attached_devices attached_devices_identifiers attached_to bond_options children_mac_addresses domain fqdn identifier inheriting_mac ip ip6 link mac managed? mode mtu nic_delay physical? primary provision shortname subnet subnet6 tag virtual? vlanid
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要迭代接口数组,请将相关方法添加到 ERB 语法中:
输入示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 渲染示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow