Ruby on rails 如何在RubyonRails中获取所选文件的完整路径?

Ruby on rails 如何在RubyonRails中获取所选文件的完整路径?,ruby-on-rails,excel,import,spreadsheet,Ruby On Rails,Excel,Import,Spreadsheet,我在视图中放置了一个文件\u字段: <% form_for(:uploaded_file, @feed, :url => {:action=>'copy'}, :html=> {:multipart=>true}) do |f| %> <%= f.file_field :uploaded_file %> <br> <%= f.submit "Submit" %> <% end %> {:action=>'cop

我在视图中放置了一个
文件\u字段

<% form_for(:uploaded_file, @feed, :url => {:action=>'copy'}, :html=> {:multipart=>true}) do |f| %>
<%= f.file_field :uploaded_file %> <br>
<%= f.submit "Submit" %>
<% end %>
{:action=>'copy'},:html=>{:multipart=>true})do | f |%>

我的控制器中有一个读取Excel文件的方法:

def copy
    file = ""
    book = Spreadsheet.open 'excel_file'
    table = book.worksheet 'excel_sheet'
    table.each do |row|
      file << row
    end
end
def拷贝
file=“”
book=电子表格。打开“excel\u文件”
table=book.worksheet“excel\u工作表”
表1.每行|
文件“BbQRomTLhiF2O54/G6eHwnnaWbLttUSvo31FO3ZtKoA=”,
“上传的_文件”=>{“上传的_文件”=>#},“提交”=>“提交”}
我正在尝试获取所选文件的路径,以便将其插入到我的电子表格.open方法中。错误消息是:没有这样的文件或目录

我想使用我在视图中的
文件字段中选择的文件路径,而不是我的excel文件路径
'excel\u file'
。如何使用此参数

谢谢大家!

文件。绝对路径(文件)


在现代浏览器中,无法从表单获取文件路径。您只能使用tempfile,它应该作为
params[:upload\u file][:tempfile]

编辑尝试

file = Spreadshet::Excel.new('params[ :uploaded_file ][ :filename ]', 'w+')
file.write( params[ :uploaded_file ][ :tempfile ].read )

您是指文件在服务器上的完整位置,还是指文件在用户机器上的完整位置?因为您无法在用户的机器上获取有关用户机器的信息,但是,如果我不能这样做,用户如何选择要读取并附加到数据库中的xls文件?(不需要路径)哦,用户可以使用浏览器的“文件选择器”对话框选择文件,但发送到服务器的只是文件名和文件内容。文件内容是参数
:upload\u file
?或者它是其他东西?我在哪里使用这些参数?对不起,我对Rails真的很陌生,我正在尝试获取所选文件的路径,以便将其插入我的
电子表格中。打开
方法…好的。我尝试了很多不同的方法,但我没有发现问题所在。在做了你告诉我的事情之后,我总是会收到这个错误消息<代码>电子表格的未定义方法“新建”:模块
谢谢!
file = Spreadshet::Excel.new('params[ :uploaded_file ][ :filename ]', 'w+')
file.write( params[ :uploaded_file ][ :tempfile ].read )