2010-05-20 70 views
1

我有一個應用程序,允許用戶創建問題,建立問題的答案,而「喜歡」別人的答案。當/views/questions/show.html.erb頁面上CURRENT_USER的土地我想顯示總「喜歡」上這個問題的所有答案,爲CURRENT_USER。顯示爲CURRENT_USER計數在一個問題「問題」/show.html.erb視圖「喜歡」

在我喜歡錶,我收集question_id,SITE_ID和user_ID的,我有用戶,問題,答案和喜歡之間建立適當的聯繫。我想我只需要以正確的方式調用這些信息,這是我無法想象的。以下所有內容都在/views/questions/show.html.erb頁面中進行。

我曾嘗試以下:

<% div_for current_user do %> 
     You have liked this question <%= @question.likes.count %> times 
    <% end %> 

它返回所有的「喜歡」的問題,但沒有被CURRENT_USER過濾

You have liked this question <%= current_user.question.likes.count %> times 

其中給出的「未定義的方法'問題」的錯誤

You have liked this question <%= @question.current_user.likes.count %> times 

這給出'未定義方法current_user'的錯誤

我已經嘗試了幾個其他的事情,但他們不使盡可能多的意義,因爲上面給我。我錯過了什麼?

回答

2

您可以使用:

<%= @question.likes.count :conditions => {:user_id => current_user.id} %> 

或者:

<%= current_user.likes.count :conditions => {:question_id => @question.id} %> 

或者添加範圍Like型號:

named_scope :owner, lambda {|user| {:conditions => {:user_id => user.id} } } 

,並稱之爲:

<%= @question.likes.owner(current_user).count %> 
+0

這樣做。謝謝,我需要了解更多有關條件。 – bgadoci 2010-05-20 20:55:26

+0

很好理解sql是如何工作的。然後,它是很容易得到你想要的東西:) – klew 2010-05-20 20:57:17

+0

感謝的人。看看我最近的關於如何去適應這個爲/views/likes/create.js.rjs問題。需要一些幫助。 – bgadoci 2010-05-21 03:20:26