我使用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")
...... 所有的事情!!
但最后我无法弄清问题是什么...... 如果你能帮助我,我感激不尽!
答案 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)