I am building a dynamic form for a client. A form has many form questions which has many form answers. As of now, I am able to create everything nicely in Active Admin and have it displaying through the show action on the app interface. Here is the problem I have. I want to display the form title (which is working), along with the form questions (which is working), along with input fields to submit new form answers on the fly (which is the part that is not working). I feel like I have exhausted everything when it comes to nested forms. I will post my code below.
Form
<%= form_for @form do |f| %> <div class="field"> <h1><%= @form.name %></h1> </div> <%= f.fields_for :form_questions do |ff| %> <div class="field"> <%= ff.label :title %> <%= ff.text_field :form_answers %> </div> <% end %> <div class="form-actions"> <%= f.button :submit %> </div> <% end %>
Here is the models
class Form < ActiveRecord::Base has_many :form_questions, dependent: :destroy accepts_nested_attributes_for :form_questions, allow_destroy: true end
class FormQuestion < ActiveRecord::Base belongs_to :form has_many :field_types has_many :form_answers, dependent: :destroy accepts_nested_attributes_for :field_types accepts_nested_attributes_for :form_answers end
class FormAnswer < ActiveRecord::Base belongs_to :form_question end
And my form controller
class FormsController < ApplicationController def new @form = Form.new # form_questions = @form.form_questions.build # form_answers = form_questions.form_answers.build end def create @form = Form.new(form_params) end def index @forms = Form.includes(:form_questions).all end def show @form = Form.find(params[:id]) end def edit @form = Form.find(params[:id]) end def form_params params.require(:form).permit(:id, :name, form_questions_attributes: [:title, form_answers_attributes: [:answer]]) end end