如何在厨师模板文件中的循环中放置if语句?

时间:2016-06-17 00:19:00

标签: chef erb chef-solo chef-template

如果没有if语句,这很好用,但不确定使用if的最佳方法是什么?

 <% node['some-node']['datasource'].each do |dbname,values| -%>
              <%= if (dbname.to_s != 'ReferenceData') -%>
    <Resource auth="${JDBC.<%= dbname %>.auth}" driverClassName="${JDBC.<%= dbname %>.driverClassName}" initialSize="${JDBC.<%= dbname %>.initialSize}" factory="${JDBC.<%= dbname %>.factory}" testWhileIdle="${JDBC.<%= dbname %>.testWhileIdle}" timeBetweenEvictionRunsMillis="${JDBC.<%= dbname %>.timeBetweenEvictionRunsMillis}" minEvictableIdleTimeMillis="${JDBC.<%= dbname %>.minEvictableIdleTimeMillis}" maxActive="${JDBC.<%= dbname %>.maxActive}" minIdle="${JDBC.<%= dbname %>.minIdle}" name="${JDBC.<%= dbname %>.name}" password="${JDBC.<%= dbname %>.password}" testOnBorrow="${JDBC.<%= dbname %>.testOnBorrow}" type="${JDBC.<%= dbname %>.type}" url="${JDBC.<%= dbname %>.url}" username="${JDBC.<%= dbname %>.userName}" validationInterval="${JDBC.<%= dbname %>.validationInterval}" validationQuery="${JDBC.<%= dbname %>.validationQuery}" connectionProperties="${JDBC.<%= dbname %>.connectionProperties}"/>
               <% end %>
     <% end %>

1 个答案:

答案 0 :(得分:1)

您想使用<%代替<%==版本用于表示要捕获输出的表达式,没有用于Ruby代码的表达式,但是它的值不重要。您可能还想使用<%-打开空格修剪。