Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails ActionController::ParameterMissing(param缺失或值为空:item):_Ruby On Rails_File Upload - Fatal编程技术网

Ruby on rails ActionController::ParameterMissing(param缺失或值为空:item):

Ruby on rails ActionController::ParameterMissing(param缺失或值为空:item):,ruby-on-rails,file-upload,Ruby On Rails,File Upload,我已经编写了一个android应用程序,可以从用户那里拍摄个人资料图片。现在我想把这些个人资料图片上传到我的RubyonRail服务器上。但是上传不起作用。我收到错误消息: app/controllers/items_controller.rb:55:in `item_params' app/controllers/items_controller.rb:21:in `create' Started POST "/items" for 192.168.3.7 at 2016-

我已经编写了一个android应用程序,可以从用户那里拍摄个人资料图片。现在我想把这些个人资料图片上传到我的RubyonRail服务器上。但是上传不起作用。我收到错误消息:

  app/controllers/items_controller.rb:55:in `item_params'
    app/controllers/items_controller.rb:21:in `create'
    Started POST "/items" for 192.168.3.7 at 2016-09-11 01:12:21 +0900
    Processing by ItemsController#create as HTML
      Parameters: {"image"=>#<ActionDispatch::Http::UploadedFile:0x5737110 @tempfile=#<Tempfile:C:/Users/Clemens/AppData/Local/Temp/RackMultipart20160911-2
    8624-1vjbftr.jpg>, @original_filename="IMG_20160911_010525.jpg", @content_type="application/octet-stream", @headers="Content-Disposition: form-data; na
    me=\"image\"; filename=\"IMG_20160911_010525.jpg\"\r\nContent-Type: application/octet-stream\r\nContent-Transfer-Encoding: binary\r\n">}
    Completed 400 Bad Request in 0ms (ActiveRecord: 0.0ms)

ActionController::ParameterMissing (param is missing or the value is empty: item):

app/controllers/items_controller.rb:55:in `item_params'
app/controllers/items_controller.rb:21:in `create'

但是,我仍然得到相同的错误。

发生的是这一行:

params.require(:item).permit(:name, :description, :picture)

如果参数中没有项,将引发异常。当您发送到创建操作时,显然您没有项目。我还假设,当您看到这个错误时,您没有对该行进行注释

现在发生的是这一行:

params.require(:item).permit(:name, :description, :picture)

如果参数中没有项,将引发异常。当您发送到创建操作时,显然您没有项目。我还假设,当您看到这个错误时,您没有对该行进行注释

params.require(:item).permit(:name,:description,:picture)
为什么这条消息被注释掉了?我很确定他看到错误消息时不是这样的!:)
params.require(:item).permit(:name,:description,:picture)
为什么这条消息被注释掉了?我很确定他看到错误消息时不是这样的!:)你的假设是对的。在我对这个错误感到惊讶之后,我把这行注释掉了,因为我只发送了一个图像,而不是一个名称或描述。所以我需要重命名我从android应用程序发送的图像,称之为“项目”,问题就解决了?我将图像重命名为“项目”,请参阅我文章中的更新。我的参数仍然有问题。我不知道RubyonRails如何使用android发送的参数。我不知道该做什么项目和项目不一样。您可以发送一个名为item的参数,该参数有三个字段:name、:description和:picture。item上的任何附加字段或任何未调用item的参数都是直接的。它与item一起工作。我现在可以上传图片了。我收到了“完成201”的信息。现在是下一步:如何在RubyonRails中访问此项?我真的不知道你通过调用@item来访问它。如果我帮了你,请把我的答案记为正确!你的假设是对的。在我对这个错误感到惊讶之后,我把这行注释掉了,因为我只发送了一个图像,而不是一个名称或描述。所以我需要重命名我从android应用程序发送的图像,称之为“项目”,问题就解决了?我将图像重命名为“项目”,请参阅我文章中的更新。我的参数仍然有问题。我不知道RubyonRails如何使用android发送的参数。我不知道该做什么项目和项目不一样。您可以发送一个名为item的参数,该参数有三个字段:name、:description和:picture。item上的任何附加字段或任何未调用item的参数都是直接的。它与item一起工作。我现在可以上传图片了。我收到了“完成201”的信息。现在是下一步:如何在RubyonRails中访问此项?我真的不知道你通过调用@item来访问它。如果我帮了你,请把我的答案记为正确!
json.extract! @item, :locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :jbuilder]
params.require(:item).permit(:name, :description, :picture)