Rails,仅使用file_field上传文件

时间:2014-04-07 09:57:26

标签: ruby-on-rails file-upload

我需要在rails中上传一个没有任何宝石的文件,所以我决定只使用

<%= file_field 'upload', 'datafile' %></p>

没有任何形式等。只是file_field和控制器我试图用

来捕捉它
name =  params[:upload][:datafile].original_filename

它显示了一个错误:

undefined method `original_filename' for "me.jpg":String

我的参数:

"upload"=>{"datafile"=>"me.jpg"}

似乎我不能单独使用file_field而没有任何形式,是吗?或者我应该把它包含在表格中?如果是,是否可以在不使用表格的情况下进行?

2 个答案:

答案 0 :(得分:3)

请确认您已在form_tag中添加了multipart:true选项。

语法: -

<%= form_tag '/upload', multipart: true do %>
 <label for="file">File to Upload</label> <%= file_field_tag "file" %>
 <%= submit_tag %>
<% end %>

答案 1 :(得分:1)

如果您不使用表单,则应使用FormTagHelper file_field_tag

这可能对您有所帮助FormTagHelper/file_field_tag