Rails DOT符号不再用于访问哈希值的功能



我将rails 5ruby 2.3.3一起使用。今天我添加了一个宝石,有一个版本冲突,所以我把宝石拿出来了。从那时起,诸如hash.test之类的点表示不再可行。它给出NoMethodError: private method test called for {:test=>"value"}:Hash

如何再次使用点符号访问哈西?

无论您使用的是使用点通用来访问哈希的哪种方法可能会使用 method_missing来捕获点数通话方法。但是一切都有test方法,因为Kernel#test存在,并且所有内容都包括Kernel;另外,Kernel中几乎所有内容都是私有的,因为Kernel是我们要假装的方法是函数。例如:

> 'pancakes'.test
NoMethodError: private method `test' called for "pancakes":String

我怀疑您的问题是您选择:test作为哈希键。

最新更新