如何使用*键=>允许散列价值观? [英] How to permit hash with * key => values?
本文介绍了如何使用*键=>允许散列价值观?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想创建一个具有强大参数的对象,该对象可以接受动态哈希键.
I want to create an object with strong params that can accept dynamic hash keys.
这是我的代码,
Quiz.create(quiz_params)
def quiz_params
params.require(:quiz).permit(:user_id, :percent, :grade, questions: {})
end
传入的数据看起来像这样.
data that gets passed in would look something like this.
// the keys that get passed into question is always different
quiz: {
user_id: 1,
percent: 80,
grade: "B",
questions: {
"12": "24",
"1": "12",
"4": "3",
"5": "22"
}
}
但是,当前,当我尝试创建测验时,问题哈希结果显示为空.
Currently however, when I try to create a Quiz, the questions hash turns out empty.
推荐答案
直到现在,我只看到以下内容:
Until now I have only seen this:
def quiz_params
questions_params = (params[:quiz] || {})[:questions].keys
params.require(:quiz).permit(:user_id, :percent, :grade, questions: questions_params)
end
这篇关于如何使用*键=>允许散列价值观?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文