gpt4 book ai didi

ruby-on-rails - 为什么我将参数传递给 session.upload_from_file 时得到 'no implicit conversion of ActionController::Parameters into String'

转载 作者:行者123 更新时间:2023-12-05 04:11:08 25 4
gpt4 key购买 nike

我正在开发一种将文件上传到 Google 云端硬盘的工具。我正在使用“谷歌驱动器” gem 。

在我看来我已经把它当作了

<%= file_field :file, class: 'form-control' %> <br>

我在 Controller 中为传递参数 [:file] 的表单调用方法

session = GoogleDrive::Session.from_config("config.json")
session.upload_from_file(params[:file], "right-on.txt", convert: false)

但是在提交时我得到 -没有将 ActionController::Parameters 隐式转换为字符串。

如何成功将要上传的文件传到Google Drive。如果我传递本地文件路径而不是 params[:file],文件将成功上传。我必须通过文件选择来完成。

最佳答案

如果您在 Web 控制台中检查文件上传输入标签,您将看到如下内容:

<input type="file" name="file[{:class=>&quot;form-control&quot;}]" id="file_{:class=>&quot;form-control&quot;}">

如果您打开 file_field 的文档方法,您会注意到它首先接受一个对象名称,然后是一个方法和最后一个选项,例如 class: 'form-control'

我想你会想在你的 View 中做这样的事情:

<%= file_field :drive, :file, class: 'form-control' %>

这将生成如下 HTML 标记:

<input class="form-control" type="file" name="drive[file]" id="drive_file">

然后您可以像之前一样在您的 Controller 中上传文件。

关于ruby-on-rails - 为什么我将参数传递给 session.upload_from_file 时得到 'no implicit conversion of ActionController::Parameters into String',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43258152/

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