Wie können mehrere Modelle in einer Schienenform gehandhabt werden?
Ich habe die folgenden Modelle
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
Meine Steuerung:
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
Wie ist es möglich, Daten in mehr als 3 Modellen zu speichern? Momentan kann ich aus meinen Umfrageformularen Daten in Umfrage, Umfrageabschnitt und Fragenmodell speichern. Aber ich weiß nicht, was ich in der Steuerung tun muss, damit ich Daten in den anderen Modellen speichern kann.