不允许的参数:Rails 中的图像
Unpermitted parameter: :images in Rails
我是 Rails 的新手,已经开始构建我的第一个 api;我正在尝试发送一个字符串数组作为我的 api 请求中的参数之一,如下所示:
{
"name": "doot doot",
"plans": "",
"sketches": "",
"images": ["foo.png", "bar.png"]
}
最初,images
是一个字符串,但我 运行 迁移以更改它以允许使用字符串数组,如下所示:
change_column :projects, :images, "varchar[] USING (string_to_array(images, ','))"
在控制器中,我将 create
函数定义为:
def create
project = Project.create(project_params)
render json: project
end
def project_params
params.require(:project).permit(:name, :plans, :sketches, :images)
end
但我仍然收到以下错误:
Unpermitted parameter: :images. Context: { controller: ProjectsController, action: create, request: #<ActionDispatch::Request:0x00007fb6f4e50e90>, params: {"name"=>"Simple Box", "plans"=>"", "sketches"=>"", "images"=>["foo.png", "bar.png"], "controller"=>"projects", "action"=>"create", "project"=>{"name"=>"Simple Box", "plans"=>"", "sketches"=>"", "images"=>["foo.png", "bar.png"]}} }
我咨询了这个问题但是解决方案没有用;有什么建议吗?
您需要指定images
是一个数组。
params.require(:project).permit(:name, :plans, :sketches, images: [])
请参阅 Rails 指南中的 Permitted Scalar Values。
我是 Rails 的新手,已经开始构建我的第一个 api;我正在尝试发送一个字符串数组作为我的 api 请求中的参数之一,如下所示:
{
"name": "doot doot",
"plans": "",
"sketches": "",
"images": ["foo.png", "bar.png"]
}
最初,images
是一个字符串,但我 运行 迁移以更改它以允许使用字符串数组,如下所示:
change_column :projects, :images, "varchar[] USING (string_to_array(images, ','))"
在控制器中,我将 create
函数定义为:
def create
project = Project.create(project_params)
render json: project
end
def project_params
params.require(:project).permit(:name, :plans, :sketches, :images)
end
但我仍然收到以下错误:
Unpermitted parameter: :images. Context: { controller: ProjectsController, action: create, request: #<ActionDispatch::Request:0x00007fb6f4e50e90>, params: {"name"=>"Simple Box", "plans"=>"", "sketches"=>"", "images"=>["foo.png", "bar.png"], "controller"=>"projects", "action"=>"create", "project"=>{"name"=>"Simple Box", "plans"=>"", "sketches"=>"", "images"=>["foo.png", "bar.png"]}} }
我咨询了这个问题
您需要指定images
是一个数组。
params.require(:project).permit(:name, :plans, :sketches, images: [])
请参阅 Rails 指南中的 Permitted Scalar Values。