相关疑难解决方法(0)

Rails 4中双嵌套模型的未允许参数

我是Rails的新手并基于此构建了一些东西,但它需要小的更新才能使它与Rails 4的强大参数兼容:

http://railscasts.com/episodes/196-nested-model-form-part-1

我根据类似的帖子将调查,问题和答案的参数列入白名单:

Rails 4嵌套属性未允许的参数

class Survey < ActiveRecord::Base
  has_many :questions, :dependent => :destroy
  accepts_nested_attributes_for :questions, allow_destroy: true
end

class Question < ActiveRecord::Base
  belongs_to :survey
  has_many :answers, :dependent => :destroy
  accepts_nested_attributes_for :answers, allow_destroy: true
end

class Answer < ActiveRecord::Base
  belongs_to :question
end

class SurveysController < ApplicationController
  def survey_params
    params.require(:survey).permit(:name, questions_attributes: [:id, :survey_id, :content])
  end

class QuestionsController < ApplicationController
  def question_params
    params.require(:question).permit(:survey_id, :content, answers_attributes: [:id, :question_id, :content])
  end

class AnswersController < ApplicationController
  def answer_params
    params.require(:answer).permit(:question_id, :content)
  end
Run Code Online (Sandbox Code Playgroud)

第一个嵌套模型(问题)有效,但第二个(答案)在我提交主调查表时返回错误:

未允许的参数:answers_attributes

Started …
Run Code Online (Sandbox Code Playgroud)

strong-parameters ruby-on-rails-4

11
推荐指数
1
解决办法
6205
查看次数

标签 统计

ruby-on-rails-4 ×1

strong-parameters ×1