Roo gem文件.xlsx不存在

Hyu*_*ark 6 ruby ruby-on-rails import-from-excel roo

我使用cloud9 ide在轨道上使用红宝石!

我正在测试gem'roo',以将excel文件导入数据库。在我做之前,我想测试一下这个宝石作品。

宝石文档:https : //github.com/roo-rb/roo
但带文件有问题!

错误消息是这样的

MersmapController#index中的IOError

文件../assets/test.xlsx不存在


这是我的代码!

require 'roo'

class MersmapController < ApplicationController         


  def index
      xlsx = Roo::Excelx.new("../assets/test.xlsx")
      @show = xlsx.info
  end
end
Run Code Online (Sandbox Code Playgroud)

并在index.erb中

<h1> <%= @show %> </h1>
Run Code Online (Sandbox Code Playgroud)



我使用“ images.jpg”(图像文件)测试此路径

当我在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")
Run Code Online (Sandbox Code Playgroud)

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

但是最后我不知道是什么问题...如果您能帮助我,我将不胜感激!

K M*_*lam 4

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

xlsx = Roo::Excelx.new(Rails.root.join('app', 'assets', 'excel', 'test.xlsx'))
Run Code Online (Sandbox Code Playgroud)