如何在rails中的ruby上的另一个文件中使用变量?

时间:2012-07-03 13:42:12

标签: ruby-on-rails ruby

我正在尝试在我的程序的所有文件中使用我的varialbe。 这是我要做的事情的例子。

 main.rb
 Class1
 def self.test1
 puts "class 1" if @@debug
  end
 end
 @@ debug = true

 class.test1
 class.test2

 class2.rb
 Class2
 def self.test2
 puts "test2" if @@debug
  end
 end

我真的希望社区足够清楚,任何帮助都会受到赞赏,谢谢!

2 个答案:

答案 0 :(得分:2)

您需要全局变量或常量。您可以创建自己的,但Ruby方便地带有内置$DEBUG全局变量。当您为-d指定ruby选项时,$DEBUG将为true,否则为false

如果这些类在多个文件中,请将其放在包含其他文件的文件中:

DEBUG=$DEBUG

在其他文件中,使用DEBUG进行调试,而不是$DEBUG

答案 1 :(得分:1)

您可以创建一个getter方法来获取class_variable

def self.get_debug
  @@debug
end
然而,

rails提供了一种名为cattr_accessor的方法 http://apidock.com/rails/Class/cattr_accessor 这将允许您在类

之外设置和获取类变量

即。 Class1.debug = false