尝试在具有特定值的字段的对象数组中查找对象

时间:2015-09-03 00:07:02

标签: ruby-on-rails

我有3个型号。用户,投票,照片。在一个视图中,我正在尝试查看当前登录的用户是否已对照片进行了投票,因此我可以显示不同类别的不同html,以向用户显示他们投票的内容。

我已正确设置所有关联。我的问题是,我不确定如何确定用户是否投票。

我在我的视图中有我的代码<%= photo.votes %>现在,由于照片可以有很多票,因此它会抓取与该照片关联的所有vote个对象的数组。我想遍历此数组并检查当前签名的用户ID是否包含在任何vote对象中。我希望Rails有一些帮助,因为我不想只是在数组中执行for循环并自己检查每个对象。

这样做是否有轨道方式(或者只是更好的方式,似乎很慢)或者是最好的方式

photo.votes.each do |u|
  if u.userid == current_user.id
     do blah
end

1 个答案:

答案 0 :(得分:1)

您可以使用select方法:

photo.votes.select{ |u| u.userid == current_user.id }.each
  do blah
end

或者如果你的想法只是计票:

theCount = photo.votes.select{ |u| u.userid == current_user.id }.count