ryanb / nested_form

Rails plugin to conveniently handle multiple models in a single form.
MIT License
1.79k stars 505 forks source link

Form object always returns nil #328

Open KhatriMonika opened 9 years ago

KhatriMonika commented 9 years ago

I am trying to implement nested_form for creating response of a survey. So survey has questions and response generate form should have nested attributes already build in controller. I am using following code.

     @survey = Survey.friendly.find(params[:survey_id])
     @response = @survey.responses.build
     @survey.questions.each do |question|
   @response.response_details.build(question_id: question.id)
 end

In my form

      <%= f.hidden_field :user_id, :value => current_user.id %>
  <%= f.fields_for :response_details do |response_form| %>
  <% logger.warn("==============#{response_form.object.inspect}") %>
  <% logger.warn("==============#{response_form.object.class}") %>
  <%= response_form.hidden_field :response_id, :value => @response.id %>
  <div class="form-group">
    <label class="col-sm-2 control-label"><%= response_form.object.question.question %></label>
    <div class="col-sm-6">
      <%= response_form.select(:answer_id, response_form.object.question.answers.collect {|answer| [answer.option, answer.id]},{},{ :class => "form-control m-t answer-type" }) %>
    </div>
  </div>
<% end %>

I am getting following error

       undefined method `question' for nil:NilClass