I have the following models
class Survey < ActiveRecord::Base has_many :survey_sections accepts_nested_attributes_for :survey_sections end class SurveySection < ActiveRecord::Base belongs_to :survey has_many :questions accepts_nested_attributes_for :questions end class Question < ActiveRecord::Base belongs_to :survey_section has_many :answers belongs_to :question_group accepts_nested_attributes_for :question_group accepts_nested_attributes_for :answers end class Answer < ActiveRecord::Base belongs_to :question end class QuestionGroup < ActiveRecord::Base has_many :questions end
My controller:
def new @survey = Survey.new survey_section = @survey.survey_sections.build survey_section.questions.build end def create @survey = Survey.new(survey_params) if @survey.save redirect_to @survey, notice: 'Super' else render 'new' end end def survey_params params.require(:survey).permit(:title, :description, survey_sections_attributes:[:id, :title, questions_attributes:[:id, :text, answers_attributes:[:id, :text]]]) end
How can I save data in more than 3 models? At the moment, I can save the data of my survey form in the survey, survey section and question models. But I do not know what I need in the controller so that I can save data in other models.
source share