Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby';s ruport NoMethodError(main:Object的未定义方法`Table';)_Ruby_Ruport - Fatal编程技术网

Ruby';s ruport NoMethodError(main:Object的未定义方法`Table';)

Ruby';s ruport NoMethodError(main:Object的未定义方法`Table';),ruby,ruport,Ruby,Ruport,Ruport gem找不到表方法。使用上的示例,我们可以看到问题。我不确定这是错误还是我的配置问题 $ 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)

Ruport gem找不到表方法。使用上的示例,我们可以看到问题。我不确定这是错误还是我的配置问题

$ 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)
>>
$cat foo.csv
名称、登录时间、机器
格雷戈里,10点,比特
乔,11:45,苏打水
吉姆,9点,小猫
乔,12:15,苏打水
格雷戈里,5点,小猫
乔,12:45,比特
$ruby-v
ruby 2.7.1p83(2020-03-31修订版a0c7c23c9c)[x86_64-darwin18]
$gem list ruport
***本地宝石***
鲁波特(1.7.1)
$irb
>>需要“ruport”
=>正确
>>t=表格(“foo.csv”)
回溯(最近一次呼叫最后一次):
4:from/Users/davidhooey/.rvm/rubies/ruby-2.7.1/bin/irb:23:in`'
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`'
1:来自(irb):2
NoMethodError(主对象的未定义方法“Table”)
>>

我相信这个Gem是假设您在Rails的
ActiveRecord
类的上下文中工作,因此
要求“ruport/act\u as\u reportable”

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

因此,您的代码将成为:

>> require 'ruport'
=> true
>> t = Ruport::Data::Table("foo.csv")