Предварительная загрузка полей 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