我只是想有一个数组作为全球在Ruby的全局变量,所以当我添加或删除元素, 可以在任何地方类反映。如何处理on Rails的
例如:
class something
@@my_array = Array.new
def self.action_1
@@my_array << 1
@@my_array << 2
@@my_array << 3
end
def self.how_many_elements
puts "# of elements: " + @@my_array.size.to_s
end
end
如果我执行以下操作:
something.action_1 =>从controller_a
something.how_many_elements =>从控制器B
我总是得到以下输出:
"# of elements: 0"
为什么?
的事实相当一边,你想要的这里@@类变量不会做,这是从来没有在Ruby中使用@@类变量是个好主意。忘记它们存在;改为使用class @instance变量 - 它们的功能类似,但意想不到的更少。 –