0

我有以下厨师食谱:

def prestashop_deployDatabase (username)
    sql_path = '/tmp/prestashop_create_tables.sql'

    template sql_path do
        source "prestashop152.sql.erb"
        owner "root"
        group node['mysql']['root_group']
        mode "0600"
        variables(
            :username => #{username}
        )
        action :create
    end
end

由于某些原因; 它无法理解我传递的“用户名”参数。

PS:我是Ruby n00b。

4

2 回答 2

3

#{username}是红宝石中的评论。你应该写"#{username}",或者在这种情况下更好,只是username

于 2012-11-13T14:52:54.780 回答
2

在红宝石中:

  • #代码中开始一行注释
  • #{}字符串中开始插值 - 大括号中的所有内容都将被解释为 ruby​​ 代码。

由于您#在此处使用代码,因此它注释掉了该行的其余部分{username},因此实际上您的代码是这样说的:

variables(
  :username =>
)

这会给你一个语法错误。

于 2012-11-13T15:09:37.093 回答