【问题标题】:create permitted attributes for my form post为我的表单帖子创建允许的属性
【发布时间】:2017-11-07 07:13:07
【问题描述】:

我的表单帖子有以下输出,我想创建允许的属性,但我无法让它工作并且有点困惑。

POST 数据:-

参数:{"utf8"=>"✓", "authenticity_token"=>"nUAxX0FRhqhS+u8zTUcvogtHf8KPhcriNK95zLL0mAwd+/CyUrq80+wdq68c/h2MrBWvvTdBYwHv3IKH29ZcWQ==", "quiz"=>{"name"=>"问题测试", "questions_attributes"=>{"0"=>{"question_name"=>"问题#1", "answer1"=>"", "answer2"=>"", "answer3"=>"", "answer4"=>"", "correct_answer"=>""}, "1"=>​​{"question_name"=>"", "answer1"=>"", "answer2"=>"", "answer3"=>"", "answer4"=>"", "correct_answer"=>""}}}, "commit"=>"创建测验"}

错误:- 不允许的参数:questions_attributes

我试过的是

params.require(:quiz).permit(:name, questions_attributes: [{0: [:question_name, :answer1, :answer2, :answer3, :answer4]}])

我无法理解,如何让它工作,所以任何帮助都将受到高度赞赏

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4


    【解决方案1】:

    我希望你的协会是这样的

    测验has_many问题

    你在你的quiz.rb中使用accepts_nested_attributes_for :questions

    如果以上正确,请使用

    params.require(:quiz).permit(:name, questions_attributes: [:question_name, :answer1, :answer2, :answer3, :answer4])

    这应该可以工作,因为 rails 会处理它。另请参阅this 文章以了解 Rails 对嵌套属性的工作方式。它以非常简单的方式解释了相同的内容。

    如果错误仍然存​​在,请发布它,我会尽力提供更好的帮助。

    【讨论】:

    • 不,它工作得很好.. 感谢您的帮助.. 非常感谢它
    猜你喜欢
    • 2021-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    相关资源
    最近更新 更多