我有一个哈希数组。这些哈希内部具有唯一的用户ID。我需要返回所有用户喜欢的内容:
p = Post.first
all_likes = p.likes
# This returns: [0][1][2] etc
# inside a hash looks like:
[0] #<Like:0x007f81d3dfb310> {
id: => 4,
user_id: => 1,
like_sent: => 1 # this will always be one
}
我们假设all_likes
有很多用户,我需要user_id: 1
总共like_sent
。怎么做到的?
all_likes.find {|f| f["user_id"] = current_user.id } # this returns one hash. I need to return all if more is found.
所以如果&#34; Jason&#34;喜欢帖子10次,我需要抓住他的总喜欢。 如何返回所有匹配的哈希。这是一个完美的问题。
答案 0 :(得分:1)
尝试
all_likes.where 'user_id = ?', current_user.id
find
方法有一些不同的语法,如下所示:
all_likes.find :all, :conditions => ['user_id = ?', current_user.id]
看docs