未初始化的常量{model} Controller :: Spreadsheet

时间:2015-08-12 14:23:10

标签: ruby-on-rails excel

我在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不能用于控制器代码呢?我错过了什么?

1 个答案:

答案 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模块和里面的方法。

此致