3

Puppet モジュールの 1 つのテンプレートにサブテンプレートを含めようとしています。基本テンプレートに含める方法は次のとおりです。

<%
  def import(fname)
    erb =
      File.open(File.dirname(__FILE__) + "/" + fname) { |fp| ERB.new(fp.read) }
    erb.run
  end
%>

<%= import("subtemplate.erb") %>

erb コマンドライン ツールでレンダリングすると、これは正常に機能します。ただし、Puppet の実行中、インポートは黙って無視されます。つまり、基本テンプレートは、レンダリングされたサブテンプレートがあるべき場所に空白行でレンダリングされます。エラーは生成されません。

私は何を間違っていますか?ありがとう!

4

2 に答える 2

8

関数の引数は配列である必要があります (>=puppet-3):

scope.function_foo(["bar"])

http://docs.puppetlabs.com/guides/templating.html#using-functions-within-templates

于 2013-12-30T14:19:36.970 に答える
6

どうですか:

 <%= scope.function_template("subtemplate.erb") %>
于 2013-05-21T10:35:23.443 に答える