2016-06-17 8 views
0

Это отлично работает без инструкции if, но не уверен, что лучший способ использовать 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, который вы хотите для структуры, но значение этого не имеет значения. Вы также можете использовать <%-, который включает прокрутку пробелов.