0
比方说,我有这样的JSON:是否可以在Rails的强参数中将JSON列为白名单(如文本)?
{
name: 'David',
tags: {
is_confused: true
}
}
,并在一定的模型(即用户),我可以直接保存这个......但我的标签对象需要被保存在一个文本列将在以后连载到JSON。有没有办法用强大的参数来做到这一点?
比方说,我有这样的JSON:是否可以在Rails的强参数中将JSON列为白名单(如文本)?
{
name: 'David',
tags: {
is_confused: true
}
}
,并在一定的模型(即用户),我可以直接保存这个......但我的标签对象需要被保存在一个文本列将在以后连载到JSON。有没有办法用强大的参数来做到这一点?
您可以强制标记为json,然后将其作为具有强参数的字符串。
假设你的对象被命名为“PARAMS”:
params[:tags] = params[:tags].permit(:is_confused).to_json
final_data = params.permit(:name, :tags)
这将使用强大的参数,它转向JSON字符串前检查标签字段,以便可以将其保存为文本(和使用强参数确保它是一个字符串)。
小挑剔:强烈的参数不能确保它是_string_。只是它是一个简单的类型(不是数组或散列)。 –
同意,但我们之前只是将它改成了一个字符串,所以我们可以肯定它会是一个字符串...... *狡猾的眼睛* *手指交叉* – Hong
非常感谢。我正在尝试这个选项,但由于我不知道的原因,在第二行中使用“require”并没有在第一行中应用赋值(我在代码中需要)。 –