您好我一直在尝试访问以下哈希的令牌值而无效
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):
如果没有,那么正确的方法是什么。当我只需要一个值时,在循环中有什么意义吗?
答案 0 :(得分:1)
email.to 方法返回包含哈希
的数组[{:a=>"a", :b=>"b"}]
所以你必须首先指定该数组中元素的索引
email.to[0][:a]
或
email.to.first[:a]
为了在没有索引的情况下访问Hash,email.to
方法必须返回Hash而不是Array类型。所以它必须是像这样的东西
def to
{:a=>"a", :b=>"b"}
end