我有積極的記錄信譽系統工作,但我似乎無法隱藏投票按鈕,一旦用戶投票的東西。紅寶石 - 積極的記錄信譽系統(隱藏投票按鈕)
在user.rb我有一個投票方法
has_many :evaluations, class_name: "RSEvaluation", as: :source
def voted_for?(review)
evaluations.where(target_type: review.class, target_id: review.id).present?
end
然後在回顧顯示的網頁我有下面的代碼隱藏按鈕,如果「如果」語句計算結果爲真
<% if User.find(session[:user_id]) &&
!User.find(session[:user_id]).voted_for(@review)%>
<h3> Vote:
<%= link_to "Up", vote_review_path(@review, type: "up"), method: "post" %>
||
<%= link_to "Down", vote_review_path(@review, type: "down"), method: "post" %></h3>
<% end %>
無論按鈕依然顯示。我一直在關注railscast,並且在他們使用current_user的視頻中,但是我使用User.find(session [:user_id])來標識用戶(current_user未定義,我總是得到錯誤「* undefined local variable或方法`CURRENT_USER「*」
您確定投票存儲?你檢查過數據庫嗎? – Mischa 2013-04-05 14:37:54
是的他們似乎在數據庫中,對於rs_evaluation它有12行。 – 2013-04-05 14:45:57
你在target_type中有什麼樣的值? – Mischa 2013-04-05 14:48:14