我有一个控制器,其值要传递给rhtml。我已经设法正确地获取了值,并且基于此,我需要在rhtml中执行操作。对于代码段,
def getsubtable
@subtables = Haus.find(params[:bewohner_id])
从上面的方法来看,当我调试它时,我可以得到“bewohner_id”的正确值。 (例如:bewohner_id =“2”)。现在,我需要在另一种形式(getsubtable.rhtml)中显示与bewohner_id =“2”对应的值列表。所以,如果我得到“2”,我将以新的形式显示“a,b,c”
<% for subtable in @subtables %>
<option value="<%= subtable.bewohner_id %>"><%= subtable.bewohner_id %></option>
<% end %>
然而我收到错误
ActionView::TemplateError (undefined method 'each' for #haus)
请指导我,如何使用bewohner_id中的'2'值并在上面的<option value>
中使用
谢谢
答案 0 :(得分:1)
Haus.find(params[:bewohner_id])
返回单个记录,而不是集合。如果你想要一个集合,你需要使用
Haus.find_all_by_bewohner_id(params[:bewohner_id])
另外,请使用@subtables.each
而不是for subtable in @subtables
。