做了一个复杂的形式,搞砸了构造提交的参数哈希,我无法解决它

时间:2016-06-23 05:26:26

标签: ruby-on-rails

当我尝试提交一些测验答案时会发生这种情况: enter image description here

我对铁轨很陌生,我已经有一段时间了,但我不知道我错过了什么。我认为这只是我设置表单的方式,因为如果我只是尝试保存调查的名称,它就可以了。 survey / show.html.erb(我使用@survey来获取调查数据,例如问题和答案)。

<%= form_for(:submitted_survey, url: submitted_surveys_path) do |f| %>

<%= f.hidden_field :name, value: @survey.name %>

<%= f.fields_for :submitted_questions do |ff| %>

<% @questions.each do |question| %>
<ul> 

<%= ff.hidden_field :content, value: question.content %>
<%= ff.label question.content %>

<%= ff.fields_for :submitted_answers do |fff| %>

<% question.answers.each do |answer| %>

<%= fff.hidden_field :content, value: answer.content %>

<%= fff.label answer.content %>

<%= ff.radio_button(:user_answer, answer.content) %>


<% end #questions.answers.each do %>
<% end #fields_for answers %>

<%= ff.hidden_field :question_explanation, value: question.question_explanation %> 

</ul>

<% end #@questions.each do %>

<% end #fields_for questions %> 

<%= f.submit %>
<% end #form_for%> 

在我的调查控制器中:

  def show
    @survey = Survey.find(params[:id])
    @questions = @survey.questions
    @submitted_survey = current_user.submitted_surveys.build if logged_in?

  end

user.rb:

has_many :submitted_surveys, :dependent => :destroy
has_many :submitted_questions, through: :submitted_surveys
has_many :submitted_answers, through: :submitted_questions
accepts_nested_attributes_for :submitted_surveys, :reject_if => -> (a) {a[:content].blank? }, :allow_destroy => true

我的模特和协会:

class SubmittedSurvey < ActiveRecord::Base
     belongs_to :user
     has_many :submitted_questions, :dependent => :destroy
    accepts_nested_attributes_for :submitted_questions, :reject_if => -> (a) {a[:content].blank? }, :allow_destroy => true
end

class SubmittedQuestion < ActiveRecord::Base
    belongs_to :submitted_survey
     has_many :submitted_answers, :dependent => :destroy
    accepts_nested_attributes_for :submitted_answers, :reject_if => -> (a) {a[:content].blank? }, :allow_destroy => true
end

class SubmittedAnswer < ActiveRecord::Base
    belongs_to :submitted_question
end

0 个答案:

没有答案