【发布时间】:2012-12-30 22:17:35
【问题描述】:
有没有办法让你在 Ruby On Rails 中处理的所有哈希都成为 HashWithIndifferentAccess?有很多次我尝试使用符号而不是字符串来访问哈希,例如 Model.attributes。
谢谢!
【问题讨论】:
-
覆盖 Hash 的初始化器...但为了方便我不会使用标准 Class
标签: ruby-on-rails ruby
有没有办法让你在 Ruby On Rails 中处理的所有哈希都成为 HashWithIndifferentAccess?有很多次我尝试使用符号而不是字符串来访问哈希,例如 Model.attributes。
谢谢!
【问题讨论】:
标签: ruby-on-rails ruby
::Hash = HashWithIndifferentAccess
不过,这个主意很糟糕。
【讨论】:
def [] 以便如果找不到符号化版本,看看它是否存在于字符串?有没有一种好方法可以做到这一点,它只影响我直接处理的哈希?还是我不应该尝试让这件事变得更容易,因为我最终会做一些可怕的事情?
{ }对象,即{ }.class == HashWithIndifferentAccess吗?