0

Ruport gem 找不到 Table 方法。使用https://ruport.github.io/examples.html上的示例,我们看到了问题。我不确定这是我的配置的错误还是问题。

$ cat foo.csv
name,login time,machine
Gregory,10:00,bittle
Joe,11:45,soda
Jim,9:00,kitten
Joe,12:15,soda
Gregory,5:00,kitten
Joe,12:45,bittle

$ ruby -v
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin18]

$ gem list ruport

*** LOCAL GEMS ***

ruport (1.7.1)

$ irb
>> require 'ruport'
=> true
>> t = Table("foo.csv")
Traceback (most recent call last):
        4: from /Users/davidhooey/.rvm/rubies/ruby-2.7.1/bin/irb:23:in `<main>'
        3: from /Users/davidhooey/.rvm/rubies/ruby-2.7.1/bin/irb:23:in `load'
        2: from /Users/davidhooey/.rvm/rubies/ruby-2.7.1/lib/ruby/gems/2.7.0/gems/irb-1.2.3/exe/irb:11:in `<top (required)>'
        1: from (irb):2
NoMethodError (undefined method `Table' for main:Object)
>>
4

1 回答 1

0

我相信这个 Gem 假设您在 RailsActiveRecord课程的上下文中工作,因此在require "ruport/acts_as_reportable" 这里

如果它是在 ActiveRecord 子类中而不是在 IRB 中编写的,这将使您的代码完美地工作。您仍然可以table通过使用类 /library 的全名Ruport::Data::Table而不是仅使用Table.

所以你的代码将变成:

>> require 'ruport'
=> true
>> t = Ruport::Data::Table("foo.csv")
于 2020-10-22T04:58:48.943 回答