У меня есть куча сообщений, в которых есть теги категорий. Я пытаюсь выяснить, сколько раз использовалась каждая категория.значение приращения в хеше
Я использую рельсы с mongodb, НО Я не думаю, что мне нужно получить появление категорий из db, поэтому часть mongo не имеет значения.
Это то, что я до сих пор
@recent_posts = current_user.recent_posts #returns the 10 most recent posts @categories_hash = {'tech' => 0, 'world' => 0, 'entertainment' => 0, 'sports' => 0} @recent_posts do |cat| cat.categories.each do |addCat| @categories_hash.increment(addCat) #obviously this is where I'm having problems end end end
структура пост является
{"_id" : ObjectId("idnumber"), "created_at" : "Tue Aug 03...", "categories" :["world", "sports"], "message" : "the text of the post", "poster_id" : ObjectId("idOfUserPoster"), "voters" : []}
Я открыт для предложений о том, как еще можно получить количество категорий, но я буду хочу получить количество избирателей в конце концов, поэтому мне кажется, что лучший способ - увеличить число_страницы, а затем добавить voters.length, но только одно, я просто пытаюсь выяснить, как увеличивать значения в хеше.
Ну, у меня возникло соблазн учиться и использовать карту/уменьшить в любом случае, я думал, что это был более простой способ сделать это с рубином, но я дам вам шанс и отчитаться. – pedalpete
Это, безусловно, легче сделать в Ruby, но и менее эффективно, хотя этого все равно может быть достаточно для небольших сайтов. Я опубликовал другой ответ с изменением исходного кода. – Zargony