2016-06-24 2 views
1

У меня есть необязательный атрибут на моих узлах. Я хочу, чтобы мой шаблон только установить конкретное значение, если этот атрибут существует:Шаблон шеф-повара, если существует атрибут

<% if node['haproxy']['server']['backup'] %> 
server <%= node['haproxy']['server']['backup']['hostname'] %> <%= node['haproxy']['server']['backup']['ipaddress'] %>:<%= node['mysql']['port'] %> weight 1 maxconn 100 check 
<% end %> 

Это выглядит хорошо для меня, но когда я запускаю его я получаю следующее сообщение об ошибке:

Chef::Mixin::Template::TemplateError 
------------------------------------ 
no implicit conversion of String into Integer 

Как может Я получаю эту работу, поэтому Шеф признает, установлен ли атрибут?

+0

Оказывается, мне нужно использовать объект вместо массива. – user3063045

ответ

2

Попробуйте

<% if node['haproxy']['server'].attribute?('backup') %> 
Смежные вопросы