加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

主厨Ruby循环遍历.erb模板文件中的属性

发布时间:2020-12-17 03:37:58 所属栏目:百科 来源:网络整理
导读:所以这可能有点令人困惑,但请耐心等待.简而言之,我希望使用某个键值循环所有属性,然后在值不为空时将它们插入模板中.这是我的代码: 属性: # === Default file Configurations#default['elasticsearch']['default']['ES_USER'] = ''default['elasticsearch'
所以这可能有点令人困惑,但请耐心等待.简而言之,我希望使用某个键值循环所有属性,然后在值不为空时将它们插入模板中.这是我的代码:

属性:

# === Default file Configurations
#
default['elasticsearch']['default']['ES_USER']              = ''
default['elasticsearch']['default']['ES_GROUP']             = ''
default['elasticsearch']['default']['ES_HEAP_SIZE']         = ''
default['elasticsearch']['default']['MAX_OPEN_FILES']       = ''
default['elasticsearch']['default']['MAX_LOCKED_MEMORY']    = 'unlimited'
default['elasticsearch']['default']['MAX_MAP_COUNT']        = ''
default['elasticsearch']['default']['LOG_DIR']              = '/var/log/elasticsearch'
default['elasticsearch']['default']['DATA_DIR']             = '/var/lib/elasticsearch'
default['elasticsearch']['default']['WORK_DIR']             = '/tmp/elasticsearch'
default['elasticsearch']['default']['CONF_DIR']             = '/etc/elasticsearch'
default['elasticsearch']['default']['CONF_FILE']            = '/etc/elasticsearch/elasticsearch.yml'
default['elasticsearch']['default']['RESTART_ON_UPGRADE']   = ''

模板:

<% node['elasticsearch']['default'].each do |host| -%>
    <% if node.elasticsearch.default.host not nil -%>
        <%= host %>=<%= node.elasticsearch.default.host %>
<% end %>

输出(希望):

MAX_LOCKED_MEMORY=unlimited
LOG_DIR=/var/log/elasticsearch
DATA_DIR=/var/lib/elasticsearch
WORK_DIR=/tmp/elasticsearch
CONF_DIR=/etc/elasticsearch
CONF_FILE=/etc/elasticsearch/elasticsearch.yml

我的ruby不是最好的,因为我刚刚开始使用所有这些东西,但我找不到这种情况的任何例子.任何帮助都会很棒,谢谢.

解决方法

你的意思是:

<% node['elasticsearch']['default'].each do |key,value| -%>
    <% unless value.empty? -%>
        <%= key %>=<%= value %>
    <% end %>
<% end %>

在迭代Hash时,您将检查其键值对.所以对于第一次迭代,key将是’ES_USER’,value将是”(这不是nil ……).

接下来,检查该值是否为blank?,并打印出key = value行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读