我有3个型号。用户,投票,照片。在一个视图中,我正在尝试查看当前登录的用户是否已对照片进行了投票,因此我可以显示不同类别的不同html,以向用户显示他们投票的内容。
我已正确设置所有关联。我的问题是,我不确定如何确定用户是否投票。
我在我的视图中有我的代码<%= photo.votes %>
现在,由于照片可以有很多票,因此它会抓取与该照片关联的所有vote
个对象的数组。我想遍历此数组并检查当前签名的用户ID是否包含在任何vote
对象中。我希望Rails有一些帮助,因为我不想只是在数组中执行for循环并自己检查每个对象。
这样做是否有轨道方式(或者只是更好的方式,似乎很慢)或者是最好的方式
photo.votes.each do |u|
if u.userid == current_user.id
do blah
end
答案 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