16
A
回答
13
我建議創建like
和dislike
選項通過承擔經典投票模型功能。
因此,您有Vote
作爲User
和Votable Item
之間的連接表。
投票值可以作爲Vote.value + 1 =贊,Vote.value -1 =不喜歡,Vote.value =中立/未投票。
你對於自己可投票項目控制器可以是這樣的:
def like
get_vote
@vote.value += 1 unless @vote.value == 1
@vote.save
respond_to do |format|
format.html
format.js
end
end
def dislike
get_vote
@vote.value -= 1 unless @vote.value == -1
@vote.save
respond_to do |format|
format.html
format.js
end
end
private
def get_vote
current_item = @item.detect{|r| r.id == params[:id].to_i}
@vote = current_item.votes.find_by_user_id(current_user.id)
unless @vote
@vote = Vote.create(:user_id => current_user.id, :value => 0)
current_item.votes << @vote
end
end
而且每個人的信息,這個問題不值得被否決。它完全有效。
-2
1
我沒有看到這個問題沒有錯。
上調投票仍然是評級。只使用兩顆星。 :)我似乎記得允許星號定義數的acts_as_rateable。
5
我知道的答案已經被接受,但我只是發現了一個名爲act_as_votable的寶石,可能適合你的需求:
充當可投票是一個Ruby寶石專門爲Rails/ActiveRecord的模式寫入。這種寶石的主要目標是:
- 允許進行表決任何模型上,喜歡/不喜歡,給予好評/ downvote等
- 允許任何模型來投票。換句話說,投票不必來自用戶,他們可以來自任何模型(例如團隊或團隊)。
- 提供易於編寫/讀取的語法。
3
相關問題
- 1. 喜歡/不喜歡系統像FB
- 2. 喜歡/不喜歡按鈕在博客w/ajax軌道
- 3. Ebay喜歡賣插件
- 4. JAutodoc喜歡插件爲C + +
- 5. SQL不喜歡和喜歡
- 6. 喜歡但不喜歡
- 7. mySQL喜歡,但不喜歡
- 8. 如何創建彈出圖像(不喜歡插件)
- 9. 免費像與不喜歡的WordPress的插件
- 10. 阿賈克斯請求設置喜歡/不喜歡在軌道上
- 11. 計數喜歡不喜歡和點擊
- 12. Jquery ajax喜歡和不喜歡按鈕
- 13. 喜歡不喜歡功能AJAX
- 14. 喜歡和不喜歡在同一列
- 15. 喜歡/不喜歡發行系統
- 16. 優化mysql查詢(喜歡/不喜歡)
- 17. 製作Youtube喜歡/不喜歡Bot
- 18. 喜歡/不喜歡Firebase的交易?
- 19. SSAS DMV不喜歡條件
- 20. Oracle不喜歡
- 21. Wordpress喜歡插件框架在ASP.NET
- 22. 排序喜歡的Facebook評論插件
- 23. Facebook喜歡帶點名的插件
- 24. 「喜歡按鈕」的facebook插件
- 25. 更喜歡我的QuickLook插件
- 26. Facebook喜歡視頻上傳插件
- 27. PhoneGap插件安裝喜歡Facebook
- 28. 集成社交插件 - 喜歡消失
- 29. Django管理員不喜歡SQL插入
- 30. Django的附件喜歡可插拔的圖像應用程序
非常感謝!我會試試這個...... :) – Madhusudhan 2010-09-14 18:25:25
祝你好運Madhusudhan :) – Trip 2010-09-14 18:32:26