-1

レコードがあり、それを配列内に挿入し、後でアクセスしたいと考えています。

users = User.all

results = []

users.each do |user|
  results << {:name => user.name, :email => user.email}
end

結果変数はまだ配列ですか? はいの場合、どうすればすべての名前と電子メールを取得できますか?

4

4 に答える 4

1

この例では、results各ユーザー名と電子メールを含むハッシュで満たされた配列を作成します。

いくつかの方法でアクセスできますが、最も簡単なのは単純なループです。

results.each do |result|
  name = result[:name]
  email = result[:email]
end

次のように、個々のアイテムに直接アクセスすることもできます。

first_result_name = results[0][:name]

ただし、存在しない可能性のある結果にアクセスしようとすることには注意してください。

しかし、私は尋ねなければなりません、なぜあなたはこれをしたいのですか?すべてのUsers name と email を配列に割り当てても何のメリットもありません。User.all の機能はまったく同じです。

于 2013-06-24T08:04:35.887 に答える
1

はい、それはまだ配列です。たとえば、次のようにして、後で必要なものを手に入れることができます。

results.each do |result|
  result[:name] # access to name
  result[:email] # access to email
end
于 2013-06-24T08:03:27.990 に答える