首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >木偶,hiera和erb - erb不会识别数组。

木偶,hiera和erb - erb不会识别数组。
EN

Server Fault用户
提问于 2014-02-21 11:06:05
回答 1查看 6.5K关注 0票数 0

我有一个非常恼人的错误,我急于弥补。我有一个木偶模块,其中某些东西保存在yaml文件(hiera)中,这样人们就可以快速地编辑该部分。

结构是嵌套的。

这样的模板:

代码语言:javascript
复制
<%= @platforms[@platform]['users_allowed'][@host].class %>

呈现如下:

代码语言:javascript
复制
Array

但是当我试图迭代它时:

代码语言:javascript
复制
<% @platforms[@platform]['users_allowed'][@host].each do | pubkey | %>
<%= pubkey %>
<% end %>

木偶说:

代码语言:javascript
复制
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to parse template somemodule/templates/authorized_keys.erb:
Filepath: /etc/puppet/modules/somemodule/templates/authorized_keys.erb
Line: 1
Detail: undefined method `each' for nil:NilClass

它怎么会突然变成零,我怎么在这里迭代呢?

恐怕我被困在这里了,甚至不知道我应该往哪个方向去寻找解决方案。

在这种情况下,没有hiera或没有嵌套结构的重写模块不是一个选项。

EN

回答 1

Server Fault用户

发布于 2014-02-21 18:20:00

我对我的木偶进行了测试,正确的语法是:

代码语言:javascript
复制
<% @platforms[@platform]['users_allowed'][@host].each do | pubkey | -%>
  <%= pubkey %>
<% end -%>

希望我能帮上忙。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/577326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档