gpt4 book ai didi

ruby-on-rails - Rails 文件字段被解释为字符串?

转载 作者:数据小太阳 更新时间:2023-10-29 07:49:53 26 4
gpt4 key购买 nike

我正在尝试提供一个表单字段作为 Rails 站点上的文件输入。我的表单设置如下

<%= form_tag({:action => 'submit_bulk_adjustment',:id => 'uploadForm', :multipart => true}, {:method => :post}) %>
<%= file_field_tag :file, class: "file-selector" %> ></td>
<%= submit_tag "Submit" %>

该领域还有一些其他形式,但可能不相关。我正在尝试在方法中使用表单字段中的文件(如下所示),但出现错误““0033982687_1406831016_BulkTest.csv”的未定义方法‘tempfile’:字符串”。我在这里做错了什么?我在另一个网站上看到几乎相同的代码。

post = params[:file]

if(post == nil)
raise NoFilenameEnteredError
end

post_path = post.tempfile.to_path.to_s

最佳答案

:multipart => true 应该是第二个选项散列的一部分,而不是第一个(第一个只是用于 URL——我假设当您提交此表单时,您真的在地址栏中看到“&multipart=true”吗?)。另外,正如@Vasseurth 提到的,您需要将表单元素放在连接到表单的 block 中:

<%= form_tag({:action => 'submit_bulk_adjustment',:id => 'uploadForm'}, {:multipart => true, :method => :post}) do %>
<%= file_field_tag :file, class: "file-selector" %>
<%= submit_tag "Submit" %>
<% end %>

此外,form_tag 的默认方法是 POST,因此无需指定。

关于ruby-on-rails - Rails 文件字段被解释为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25066814/

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