无法访问哈希的特定值 - Rails

Cannot access specific value of a hash - Rails

您好,我一直在尝试访问以下哈希值的令牌值,但无济于事

email.to[{:token=>"example", :host=>"HOSTNAME here", :email=>"example email", :full=>"example@email.com", :name=>nil}]

不是email.to[:token]给我代币的价值吗?

当我这样做时,我得到了这个

TypeError (no implicit conversion of Symbol into Integer):

如果不是,正确的方法是什么。当我只需要一个值时,做一个循环有什么意义吗?

email.to 方法 returns 一个包含哈希的数组

[{:a=>"a", :b=>"b"}]

所以你必须首先指定该数组中元素的索引

email.to[0][:a]

email.to.first[:a]

为了在没有索引的情况下访问散列,email.to 方法必须 return 散列而不是数组类型。所以它必须是这样的

def to
  {:a=>"a", :b=>"b"}
end