从来自另一个模块的值插入字符串

时间:2013-02-20 19:32:04

标签: ruby-on-rails ruby

我的“ models ”文件夹中有一个这样的模块:

module IntervalUnits
  VALUES = [MONTHLY, QUARTERLY, YEARLY].freeze

  MONTHLY = 0
  QUARTERLY = 1
  YEARLY = 2
end

然后在我的“ helpers ”文件夹中,我有另一个文件,它在RaiseError的某个地方我也想从上面的文件中显示那些VALUES。我怎么能这样做?

我知道字符串插值就像这个"#{stuff}"但是当它是我从另一个文件中读取的那些常量的数组时我不知道如何做到这一点。

1 个答案:

答案 0 :(得分:0)

首先,在将它们分配给数组之前,需要定义常量。否则,您将收到如下例外:

  

NameError:未初始化的常量IntervalUnits :: MONTHLY

重新排序变量声明后,只需使用模块的命名空间引用常量。例如:

module IntervalUnits
  MONTHLY   = 0
  QUARTERLY = 1
  YEARLY    = 2

  VALUES    = [MONTHLY, QUARTERLY, YEARLY].freeze
end

IntervalUnits::VALUES
# => [0, 1, 2]