我有一系列哈希
def factory_girl_users
Hash[user_1: FactoryGirl.attributes_for(:automated_user), user_2: FactoryGirl.attributes_for(:automated_user_1)]
end
# {:user_1=>{:username=>"username_1", :password=>"password"}, :user_2=>{:username=>"username_2", :password=>"password"}}
然后我想选择一个随机用户,所以将factory_girl_users的哈希值放入一个数组中,然后使用pop
选择一个
def choose_user
user_array = factory_girl_users.to_a
@user = user_array.pop
end
所以在这个阶段@user看起来像
[:user_2, {:username=>"username_2", :password=>"password"}]
我的第一个问题是如何访问用户名和密码值
其次,我将如何获得{:username=>"username_2", :password=>"password"}
返回
我希望能够通过执行
来访问这些值@user[:username]
答案 0 :(得分:2)
由于您不关心密钥(来自哈希),您可以这样做:
user_array = factory_girl_users.values
@user = user_array.pop
@user[:password]
答案 1 :(得分:1)
(1)访问用户名和密码值
ini_set('SMTP', 'yourhost.com');
(2)
hash = [:user_2, {:username=>"username_2", :password=>"password"}]
hash[1]
=> {:username=>"username_2", :password=>"password"}
hash[1][:username]
=> "username_2"
hash[1][:password]
=> "password"