ruby, ошибка при создании хэша - PullRequest
0 голосов
/ 05 января 2012

Пытается создать массив или имеет идентификаторы и имена, но

@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

Я знаю, что идентификаторы действительно существуют в таблице Campaign.Я думаю, что проблема заключается скорее в моих знаниях о том, как создать 1 массив или хеш из другого.

Любая помощь очень ценится.

1 Ответ

1 голос
/ 05 января 2012

Вместо этого попробуйте что-то вроде этого:

@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: http://guides.rubyonrails.org/association_basics.html

, которые помогут вам очистить то, что вы пытаетесь сделать еще большев нечто вроде:

@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
...