Предварительная загрузка полей fields_form с данными из базы данных

У меня есть форма для создания нескольких объектов в соответствии с учебниками Райана Бейтса ( # 196 и # 197). Моя форма выглядит так:

<%=form_for @group_poll, :remote => true do |f|%>
   <%=f.fields_for :questions do |builder| %>
      <%=render "group_polls/question_fields",  :f => builder%>    
   <%end%>
   <p><%= link_to_add_group_question "#{t(:addquestion)}", f, :questions%></p>
<%end%>

Частичное выглядит как:

<div class="row-fluid">
    <div class="span3"><%=f.label "#{t(:question)}:"%></div>
    <div class="span3"><%=f.text_field :admin_question, :required => true%></div>
    <div class="span1"><%=f.submit "#{t(:send)}", :name => "send_#{f.object.id}", :class=>"btn-white"%></div>
    <div class="span1"><%=f.submit "#{t(:save)}", :name => "save_#{f.object.id}", :class=>"btn-white"%></div>
</div>

Я хочу предварительно загрузить некоторые вопросы, которые существуют в БД при доступе к странице в приложении, а также иметь возможность добавлять новые вопросы. В действии контроллера у меня есть @group_poll.questions.build() за каждый опрос. Он работает нормально для генерации полей вопросов, но они пусты. Я не знаю, как предварительно загрузить эти опросы с данными в БД. Я пытался передать question объект @group_poll.questions.build(question), но мне не повезло. Я последовал за ответом на этот вопрос, но я заблудился.

Возможно ли то, что я хочу сделать?

1 ответ

Решение

Если вы хотите предварительно загрузить существующие вопросы в БД, вы не должны использовать build() потому что он строит и пустой объект.

Если вы берете build() вне, это работает?

@group_poll.questions
Другие вопросы по тегам