我正在尝试查询vote_fu插件中的特定投票,以便我可以销毁它。我需要这样做,因为我实施了每个用户政策的一票,但我希望用户能够删除投票。
所以我所拥有的是一个可投票的链接模型,以及用户作为选民。从理论上讲,我不应该做类似的事情:
@link.votes.find_by_user_id(current_user.id).destroy
虽然投票不是支持方法,因为它不是我在数据库中构建的表。我已经阅读了vote_fu的文档,我似乎无法找到/或弄清楚我应该如何销毁选票。
def destroy
@vote = Vote.find(params[:id])
@vote.destroy
respond_to do |format|
format.html { redirect_to(user_votes_url) }
format.xml { head :ok }
end
end
在vote_fu的lib中,所以我应该可以在投票时调用destroy,我只需要能够找到投票。
无论如何,谢谢你的帮助。
答案 0 :(得分:1)
def unvote
@link = Link.find(params[:id])
@vote = current_user.votes.find_by_voteable_id(@link.id)
@vote.destroy
redirect_to :back
end
然后在我看来:
<%= link_to "Delete Vote", unvote_topic_link_path(@topic, link), :method => :delete %>
和我的路线,如果你想要了解所有事情的全貌:
resources :links do
member do
post 'vote'
delete 'unvote'