1

我有一个以下红宝石模板

interface <%= @interface %>
  state <%= @state %>
  priority <%= @priority %>

  virtual_router_id 1
  unicast_src_ip <%= @ipaddress_interface %>

在 unicast_src_ip 我会添加 @interface-s ip 地址。接口名称是动态的。因此,如果我在@interface 中获得 eth0,@ipadress_interface 应该是 eth0 (@ipaddress_eth0) 的 ip。如果我预定义了 NIC 的名称,例如 nic01。@ipadress_nic01 就像一个魅力。但不幸的是,我只有在木偶运行时才知道 if 名称

4

1 回答 1

2

您可以使用暴露给 ERB 脚本scope对象来访问动态确定的变量。它将您要访问的变量的名称作为字符串获取,可以在运行时以 Ruby 提供的任何方式计算。例子:

  unicast_src_ip <%= scope["ipaddress_#{@interface}"] %>
于 2019-10-25T23:54:22.627 回答