考虑到这些强大的障碍:
def image_params
params.require(:image).permit(:data, :x, :y, :width, :height)
end
:image
到底应该是什么?我是这样从前端提交的:
updateImage: function (e) {
e.preventDefault()
var formData = new FormData()
formData.append(`x`, this.crop_x)
formData.append(`y`, this.crop_y)
formData.append(`width`, this.crop_width)
formData.append(`height`, this.crop_height)
formData.append(`image`, this.imageID)
this.$http.patch(`/articles/${this.id}/images/${this.imageID}`, formData)
}
此处假设:image
应为16
。
答案 0 :(得分:1)
使用strong_params时,您不一定要指定数据类型,您只需设置哪些属性是强制性的以及哪些属性是允许的规则,
在您的示例中,image
是必需属性,如果参数中缺少该属性,您将收到错误,而permit
:data, :x, :y, :width, :height
则为白色 - 列出他们说他们可以安全使用或通过。
您可能希望以这种方式创建它,而不是执行追加,
{image: {data: '', x: '', y: '', width: '', height: ''}}
希望这有帮助