gpt4 book ai didi

ruby-on-rails - 找不到Rails 4强参数param的载波错误

转载 作者:行者123 更新时间:2023-12-03 12:23:09 25 4
gpt4 key购买 nike

我遇到了载波和Rails 4个强参数的问题。我有一个带有载波上传按钮的非常简单的模型。如果有人提交上传表单而没有选择要上传的文件,我想显示一条错误消息。

现在,我收到此消息的param not found:photo错误:

  # Never trust parameters from the scary internet, only allow the white list through.
def photo_params
params.require(:photo).permit(:image)
end

发生此错误是因为Rails 4的强参数要求提供image参数来提交表单,但是由于用户尚未选择图像,所以此参数不存在。

我找不到解决此问题的方法,并将其重定向到同一操作并显示错误消息。

有没有办法用强参数做到这一点?

这是我尝试使用未选择照片的表单时的开发日志:
https://gist.github.com/leemcalilly/09b6166ce1af6ca6c833

这是我选择照片并成功上传后的开发日志:
https://gist.github.com/leemcalilly/1f1e584f56aef15e7af1

其他相关文件:
*模型/photo.rb- https://gist.github.com/leemcalilly/95c54a5df4e4ee6518da
* controllers / photos_controller.rb- https://gist.github.com/leemcalilly/c0723e6dc5478b0f914d
* uploaders / image_uploader.rb- https://gist.github.com/leemcalilly/5e43f6524734991773ae
* views / photos / index.html.erb- https://gist.github.com/leemcalilly/a8c4c808e5e8a802933b
* views / photos / _form.html.erb- https://gist.github.com/leemcalilly/cd0fd518c1b47d9bfb62
* Initializers / carrierwaver.rb- https://gist.github.com/leemcalilly/49e04fa1dda891dd108b

最佳答案

rails guides provides the solution。以与fetch方法相同的方式使用require方法。 注意第二个参数:它提供默认值。因此,如果找不到params[:photo],则将返回默认值(如下面的示例,为空散列):

params.fetch(:photo, {})

关于ruby-on-rails - 找不到Rails 4强参数param的载波错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17937112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com