find (params): ActionView :: TemplateError (неопределенный метод 'each' для #haus) - PullRequest
1 голос
/ 18 октября 2010

У меня есть контроллер, значение которого я хочу передать в rhtml.Мне уже удалось получить значение правильно, и на основании этого мне нужно сделать действие в HTML.Для фрагментов кода,

def getsubtable     
  @subtables = Haus.find(params[:bewohner_id])

из вышеописанного метода, когда я отлаживаю его, я могу получить правильное значение "bewohner_id".(пример: bewohner_id = "2").Теперь мне нужно показать список значений, который соответствует bewohner_id = "2" в другой форме (getsubtable.rhtml).Итак, если я получу «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) 

Назовите мне, как я могу использовать значение '2' из bewohner_id и использовать его в <option value> выше

Спасибо

1 Ответ

1 голос
/ 18 октября 2010
Haus.find(params[:bewohner_id])

возвращает одну запись, а не коллекцию.Если вы хотите коллекцию, вам нужно использовать

Haus.find_all_by_bewohner_id(params[:bewohner_id])

Также используйте @subtables.each вместо for subtable in @subtables.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...