Issue #14527 has been updated by Stefan Schulte.

You can write standard ruby code inside an erb template and since ruby <1.9 
does have an `id` method you do not get the expected results.

But facts can (should) be accessed in erb templates as instance variables (see 
http://docs.puppetlabs.com/guides/templating.html#facts) so the following 
should work in your case:

template:
<pre>
<%= @id %>
</pre>
----------------------------------------
Bug #14527: id throws an error when used in a template
https://projects.puppetlabs.com/issues/14527#change-63349

Author: Garrett Honeycutt
Status: Unreviewed
Priority: Normal
Assignee: 
Category: 
Target version: 
Affected Puppet version: 
Keywords: id
Branch: 


Error message
<pre>
/etc/puppetlabs/puppet/templates/motd.erb:17: warning: Object#id will be 
deprecated; use Object#object_id
</pre>

Reproduce with

template
<pre>
<%= id %>
</pre>

manifest
<pre>
file { '/tmp/id_bug':
  content => template('/path/to/template.erb'),
}
</pre>

Sample Output. This changes every run.
<pre>
-607180458
</pre>

<pre>
puppetversion => 2.7.12 (Puppet Enterprise 2.5.0)
facterversion => 1.6.7
</pre>


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to