在模块内部使用类

时间:2016-05-22 06:51:56

标签: ruby ruby-on-rails-4

我是ruby的新手,并尝试使用红宝石宝石'combine_pdf'提供的设施。如文档中所述,我正在尝试使用CombinePDF.load(“file1.pdf”)。 但是,我收到了一个错误 X :: Y(或类似的东西)中未初始化的常量CombinePDF。

我正在使用的类合并pdf存在于模块X :: Y中。而ruby也试图在同一个包中寻找CombinePDF。这实际上是一个rails项目,我在gemfile中有combinepdf。

2 个答案:

答案 0 :(得分:2)

使用双冒号:

::CombinePDF

所有关于常量分辨率机制 - 双冒号意味着,你想引用在最外层范围内定义的常量。

答案 1 :(得分:1)

虽然您在Gemfile中包含了combine_pdf,但您在使用它的文件中没有require。你应该在那个文件中有这个:

require 'combine_pdf'

你呢?