2011-03-07 83 views
0

我想查詢vote_fu插件中的具體投票,以便我可以銷燬它。我需要這樣做,因爲我已經爲每個用戶策略實施了一次投票,但是我希望用戶能夠刪除投票。Rails 3 - vote_fu - 查詢具體投票選民投票

所以我有一個鏈接模型,這是可投票的,用戶作爲選民。理論上,我不應該這樣做:

@link.votes.find_by_user_id(current_user.id).destroy 

雖然票不是一個支持的方法,因爲它不是我建立在db中的表。我已經閱讀了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,所以我應該能夠呼籲投票摧毀,我只需要能夠找到表決。

無論如何,感謝您的幫助。

回答

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'