roo gem文件.xlsx不存在

时间:2015-08-27 15:42:35

标签: ruby-on-rails ruby import-from-excel roo

我使用cloud9 ide在rails上使用ruby!

我正在测试宝石' roo'将excel文件带到我的数据库。在我这样做之前,我想测试这个宝石工作。

gem doc:https://github.com/roo-rb/roo
但带文件有问题!

错误信息就像这样

MersmapController中的IOError #index

file ../assets/test.xlsx不存在


这是我的代码!

require 'roo'

class MersmapController < ApplicationController         


  def index
      xlsx = Roo::Excelx.new("../assets/test.xlsx")
      @show = xlsx.info
  end
end

并在index.erb

<h1> <%= @show %> </h1>



我使用我的&#34; images.jpg&#34;测试此路径。 (图像文件)

当我在index.erb中写一个图像文件的路径时,肯定会有效!!

我试过

xlsx = Roo::Excelx.new("../assets/excel/test.xlsx")

xlsx = Roo::Excelx.new("../../app/assets/test.xlsx")

xlsx = Roo::Excelx.new("../../app/assets/excel/test.xlsx")

...... 所有的事情!!

但最后我无法弄清问题是什么...... 如果你能帮助我,我感激不尽!

2 个答案:

答案 0 :(得分:3)

您可以使用Rails.root获取文件的路径名称:

xlsx = Roo::Excelx.new(Rails.root.join('app', 'assets', 'excel', 'test.xlsx'))

答案 1 :(得分:0)

我记得有一次发生在我身上,检查一下是否解决了你的问题:

xlsx = Roo::Excelx.new(url_to_file, file_warning: :ignore)