我有以下课程:
class Question < ActiveRecord::Base
serialize :choices
end
我希望我的问题有一组用户可以选择的选项,我将它们存储在问题记录中以避免第二次数据库查询。我正在尝试设置我的表单,以便用户可以编辑每个选项的文本。这是我用于输入的标签:
<input name="question[choices][]" type="text" />
我的许可证功能是:
def question_params
params.require(:question).permit(:category_id, :content, :choices, :answer_id)
end
我的选择数组未设置。我在这里做错了什么?
答案 0 :(得分:3)
通过引入强参数,不再接受任意非标量值作为输入值。但是,如果要传递一组标量,可以在permit
语句中声明,如下所示:
params.require(:question).permit(:category_id, :content, :choices => [], :answer_id)
然而,这可能是一个难以检测的问题,因为在某些情况下可以简单地忽略输入值而没有错误(具体而言我不记得这一点)。
中进一步讨论答案 1 :(得分:0)
请尝试以下..(控制器代码?)
class Question < ActiveRecord::Base
serialize :choices,Array
end