2014-03-14 17 views
1

我有上訪網站。我現在建立投票系統,但那並不令人高興。 要爲每個用戶創建只有一票我用這個條件的觀點:Rails。如何從投票表中獲取統計列,其中user_id =當前用戶

<% if @post.votes.where(user_id: current_user.id).blank? %> 

如果用戶沒有爲當前的投票後它返回true。

但是,當我想告訴用戶投票語句,此代碼:

<% if @post.votes(user_id: current_user.id) == 1 %> 
     "u voted LIKE" 
     <% else %> 
     "u voted DISLIKE" 
     <% end %> 

還給我的錯誤:很抱歉,但出事了(500) 我在發展模式。謝謝。

+0

必須有你的Rails的設置有些不對勁了。通常你在開發模式下不會得到像這樣的簡單的500錯誤消息,但是實際的Ruby異常有一個callstack和一大堆其他信息。 –

回答

1

您在聲明中缺少wherecount

試試這個,

<% if @post.votes.where(user_id: current_user.id).count.eql?(1) %> 
    "u voted LIKE" 
<% else %> 
    "u voted DISLIKE" 
<% end %> 
1

更新爲

<% if @post.votes(user_id: current_user.id).count == 1 %> 
     "u voted" 
     <% else %> 
     "u dont voted" 
     <% end %> 

您點票的網友認爲,出任1,如果是1,那麼他已經投了條件。否則不投票。

相關問題