无法调用 gem 中的方法
Not able to call method in a gem
这可能是一个简单的问题,但不幸的是我无法在 Google 上找到答案。
上下文:
我正在从事自己的项目,并且正在 gem (FrenchTaxSystem) 中外部化一些代码。这是我创建的第一个 gem,但我很难正确使用它。
问题:
当调用我的 gem 的主文件 (french_tax_system.rb) 中定义的方法(如 testit)时,我得到一个“NoMethodError:FrenchTaxSystem:Module 的未定义方法‘testit’”,尽管我可以调用来自同一个文件的常量(比如 FISCAL_NB_PARTS_FOR_MARRIED_COUPLE),这让我很困惑。
例如,在 IRB 中,我在调用方法时得到:
[
在我的 gem 中的 Rspecs 测试中也是一样的
但是调用常量时没有错误:
我的主文件 gem:
french_tax_system.rb
module FrenchTaxSystem
class Error < StandardError; end
# Constants
...
FISCAL_NB_PARTS_FOR_MARRIED_COUPLE = 2
...
# Methods
## Main method
def testit
"test me"
end
end
Gem 文件结构:
预先感谢您的帮助,
Mth0158
这应该有效:
module FrenchTaxSystem
def self.testit
"test me"
end
end
这可能是一个简单的问题,但不幸的是我无法在 Google 上找到答案。
上下文:
我正在从事自己的项目,并且正在 gem (FrenchTaxSystem) 中外部化一些代码。这是我创建的第一个 gem,但我很难正确使用它。
问题:
当调用我的 gem 的主文件 (french_tax_system.rb) 中定义的方法(如 testit)时,我得到一个“NoMethodError:FrenchTaxSystem:Module 的未定义方法‘testit’”,尽管我可以调用来自同一个文件的常量(比如 FISCAL_NB_PARTS_FOR_MARRIED_COUPLE),这让我很困惑。
例如,在 IRB 中,我在调用方法时得到:
[
但是调用常量时没有错误:
我的主文件 gem:
french_tax_system.rb
module FrenchTaxSystem
class Error < StandardError; end
# Constants
...
FISCAL_NB_PARTS_FOR_MARRIED_COUPLE = 2
...
# Methods
## Main method
def testit
"test me"
end
end
Gem 文件结构:
预先感谢您的帮助,
Mth0158
这应该有效:
module FrenchTaxSystem
def self.testit
"test me"
end
end