1
我想将散列数据包含在厨师数据库项目中。这是否支持?我不断收到有关未定义方法的错误消息。这里有一个例子:厨师数据包中有数组吗?
Databag项目:
{
"id": "BurgerKing",
"sandwich": "Whopper",
"nickname": "BK",
"value_meals":[
{
"sandwich": "Big King",
"side": "Fries",
"drink": "Coke"
},
{
"sandwich": "Kids Burger",
"side": "Apple Slices",
"drink": "Milk"
}
]
}
模板:
<!-- I want to go to <%= @restaurant[ 'nickname' ] %> to get a <%= @restaurant['sandwich'] %>. -->
<!-- But there are also value meals... -->
<% @restaurant.value_meals.each do | meal | %>
<!-- <%= meal.sandwich %>, <%= meal.side %>, and <%= meal.drink %> -->
<% end -%>
如果我只能访问三明治和昵称领域,我很好,但只要我添加代码迭代通过value_meals,我得到:
Chef::Mixin::Template::TemplateError (undefined method `value_meals' for #<Chef::DataBagItem:0x00000002d07df0>) on line #6:
4: <!-- I want to go to <%= @restaurant[ 'nickname' ] %> to get a <%= @restaurant['sandwich'] %>. -->
5: <!-- But there are also value meals... -->
6: <% @restaurant.value_meals.each do | meal | %>
7: <!-- <%= meal.sandwich %>, <%= meal.side %>, and <%= meal.drink %> -->
8: <% end -%>
谢谢!
并感谢CodeRanger !!!
添加下面的内容,这里固定它,因为我显然还没有格式化评论的诀窍呢。
<!-- But there are also value meals... -->
<% @restaurant['value_meals'].each do | meal | %>
<!-- <%= meal[ 'sandwich' ] %>, <%= meal[ 'side' ] %>, and <%= meal[ 'drink' ] %> -->
<% end -%>
谢谢!修改为:<! - 但也有价值餐...... - > <%@restaurant ['value_meals']。餐| %> <% end -%> <%= meal ['sandwich']%>,<%= meal ['side']%>%>>%> 它像一个冠军一样工作!对糟糕的格式化抱歉......对于新的格式。 –