将数据附加到数组rails 4

时间:2015-09-02 08:48:45

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4

我需要将数据附加到变量

@celebrity = Celebrity.includes(:category).where('category_id = ?', params[:id])
test =[]
@celebrity.each do |celeb|
  @vote = Vote.where('celebrity_id = ?', celeb).count
  test  << {vote_count:@vote}
end

当我调试&#39; test&#39;,

abort test.inspect

我得到

的结果
[{:vote_count=>2}, {:vote_count=>1}, {:vote_count=>0}]

但是,我的问题是如何将vote_count追加到@celebrity,有谁可以帮助我

2 个答案:

答案 0 :(得分:2)

你不应该这样做,在表现方面可怕。

如果您正确设置counter_cachesee ref),您可以按预期在模型实例中立即获得数据

答案 1 :(得分:0)

@celebrity.each do |celeb|
  celeb["vote_count"] = celeb.votes.count
end

+ apneadiving是对的。使用counter_caches