Как поместить оператор if в цикл внутри файла шаблона chef?

Это прекрасно работает без оператора 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 ответ

Вы хотите использовать <% вместо <%=, = Версия предназначена для выражения, из которого вы хотите захватить вывод, а без - для Ruby-кода, который вы хотите для структуры, но значение этого значения не имеет. Вы также можете использовать <%- который включает обрезку пробелов.

Другие вопросы по тегам