как передать 2 переменные пакета данных шаблону шеф-повара

Я пытаюсь передать 2 пакета данных в качестве переменных в шаблон, но это заканчивается сообщением об ошибке. Кто-нибудь знает, как передать 2 пакета данных в шаблон?

Рецепт

db = data_bag_item('dbconnect', 'connection')
dbkey = data_bag_item('database', 'databasename')
template '/etc/config.cnf' do 
    source 'config.cnf.erb'
    action :create
    variables ( 
        :dbcon => db,
        :dbk => dbkey
    )
    end

Шаблон

connection = mysql://<%= @dbcon['dbuser'] %>:<%= @dbcon['dbpasswd'] %>@<%= @dbcon['dbname'] %>/<%= @dbk['dbname'] %>

person gopisaba    schedule 23.06.2015    source источник
comment
Можете ли вы отредактировать свой вопрос, чтобы показать сообщение об ошибке? Можете ли вы также включить структуру пакетов данных?   -  person samdunne    schedule 23.06.2015


Ответы (1)


Хорошо. Я получил ответ. Я пропустил скобки {} в переменных.

db = data_bag_item('dbconnect', 'connection')
dbkey = data_bag_item('database', 'databasename')
template '/etc/config.cnf' do 
  source 'config.cnf.erb'
  action :create
  variables ({ 
    :dbcon => db,
    :dbk => dbkey
  })
end
person gopisaba    schedule 23.06.2015
comment
@Tensibai см. acrmp.github.io/foodcritic/#FC034 (в примере есть правда запятой не хватает) - person Roland; 25.06.2015
comment
и еще один пример: github.com/ opscode-cookbooks/chef-client/blob/master/recipes/ — в настоящее время с Ruby 1.9+ вы также можете использовать синтаксис key: value вместо hash-rocket (=›) - person Roland; 25.06.2015
comment
@Tensibai Не могли бы вы быть менее агрессивными в своих комментариях? Спасибо - person Roland; 25.06.2015
comment
Спасибо, Рональд. Когда мы передаем значение в виде строки, тогда (....) работает нормально, но когда я пытаюсь передать пакеты данных (или вложенный хэш), мне нужно ({.....}) - person gopisaba; 26.06.2015