我需要在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而没有任何形式,是吗?或者我应该把它包含在表格中?如果是,是否可以在不使用表格的情况下进行?
答案 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