2012-01-04 9 views
0

を作成するには、IDと名前を持っていますが、ルビー、エラーがまたは配列を作成しようとしていたハッシュ

@campaign_ids_and_names = Hash.new 
@campaign_ids.each do |cid| 
    @campaign_ids_and_names.merge!(cid => Campaign.find(cid, :user => current_user).name) 
end 
@campaign_ids_and_names 

はちょうど

1は、私がIDのキャンペーンテーブルに存在しない知って戻って保持します。 私は別の配列またはハッシュから1つの配列を作成する方法について、より多くの知識があると思います。

大変助かりました。

答えて

1

この代わりのようなものを試してみてください:あなたのような何かにさらに何をしようとしてあなたはクリーンアップに役立ちますhttp://guides.rubyonrails.org/association_basics.html

@campaign_ids_and_names = Hash.new 
@campaign_ids.each do |cid| 
    @campaign_ids_and_names[cid] = Campaign.find(cid, :user => current_user).name 
end 
@campaign_ids_and_names 

ます。また、Active Recordの関連付けをチェックアウトする必要があります

@campaign_ids_and_names = Hash.new 
@campaign_ids.each do |cid| 
    @campaign_ids_and_names[cid] = current_user.campaigns.find(cid).name 
end 
@campaign_ids_and_names 
関連する問題