我已为我的应用制作了一个投票系统,用户只能为我打过的帖子投票一次" Idee"。这是我的协会:
投票
belongs_to :idee
belongs_to :user
用户 has_many :votes, dependent: :destroy
Idee has_many :votes, dependent: :destroy
投票控制器
def like
user = params[:user_id]
idee = params[:idee_id]
if Vote.exists?(:user_id => user) && Vote.exists?(:idee_id => idee)
redirect_to :back, :notice => "Vous avez déjà voté pour cette idée"
else
Vote.create({ idee_id: idee, user_id: user})
redirect_to :back, :notice => "Merci d'avoir voté"
end
end
查看
<div class="upvote col-lg-2">
<div class="heart-black hidden-xs">
<p class="like"><%= @idee.vote_id %></p>
<%= link_to "up", {controller: "vote", action: "like", user_id: @current_user, idee_id: @idee}, :class => "upvote-link" %>
</div>
</div>
我的控制器工作正常,我可以投票,如果我已投票,我会收到通知。每个投票都存储有user_id和idee_id,但我不知道如何在我的视图中显示每个Idee的投票数。
我尝试了类似vote.idee_id.count
的内容,我并不感到意外,因为它不起作用。那么有办法做我想做的事吗?