私は2つのテーブルを持っています。 1つはアカウント用、もう1つはキーワード用です。私はすべてのキーワードを繰り返し、各キーワードを追加したアカウントIDでグループ分けされたハッシュでそれぞれを保存したいと考えています。以下のコードでは、各キーワードをハッシュに追加していません。たとえば、2つのキーワードエントリを持つアカウントがあります。私のコードは最初のエントリをスキップし、2番目のエントリだけをハッシュに追加します。テーブルを反復処理して各値のハッシュを作成するにはどうすればよいですか?
@keyword_hash = {}
@account.each do |key, value|
@keywords.where(:profile_id => key).each do |keyword|
@keyword_hash[key] = keyword.entry
end
end
puts @keyword_hash
私はハッシュに特定のアカウントの各キーワードエントリを追加するようにどのように私は上記のコードを変更することができますか?
@keyword_hash [6]を実行し、そのアカウントのkeyword1、keyword2、keyword3などを取得したいと考えています。ありがとう!
私の推測では、あなたがおよそつもりされていることをハッシュに追加し、[KEYWORD1、KEYWORD2、KEYWORD3など]配列を作成し、これは間違っていて、 'group_by'クエリを使いたいと思っています。しかし、あなたが提供した情報では、言うことは難しいです。 – jvillian
あなたの提案をありがとう。 group_byまたはgroupを使用して調べます。 –