我在Rails(v2.0.0)控制器代码中使用Spreadsheet类,如下所示:
def run
book = Spreadsheet.open '--file path'
end
我得到一个“NameError:uninitialized constant {model} Controller :: Spreadsheet”错误。电子表格gem已加载,我可以在Rails控制台中执行此特定行
当我按照另一个Stackflow问题中的建议在控制器文件中添加require 'spreadsheet'
时,我收到错误“无法加载模块”。根据我对GEM文件应该如何工作的理解,这是我需要指定gem的唯一地方。在我的Gemfile中,我有gem 'spreadsheet'
并且我已经运行了bundle install
那么为什么电子表格gem不能用于控制器代码呢?我错过了什么?
答案 0 :(得分:0)
我在Rails应用程序中使用Spreadsheet没问题。
你真的使用Rails v2.0.0吗?
我的应用必须处理XLS和PDF文件,因此我有以下设置:
app>建设者>文件> xls_builder.rb
然后在xls_builder.rb
require 'spreadsheet'
module Documents
module XlsBuilder
def self.read_file path
Spreadsheet.open path
end
end
end
当我想打开一个xls文件时,我只是引用Documents :: XlsBuilder模块和里面的方法。
此致
保