是否有任何“喜欢”、“不喜欢”的 Rails 插件...
我浏览了评级插件……但它们都是 5 星评级插件……
最佳答案
我建议创建 like
和 dislike
通过采用经典的投票模型功能来选择。
所以你有 Vote
作为 User
之间的连接表和 Votable Item
.
投票值可以作为 Vote.value + 1 = 喜欢,Vote.value -1 = 不喜欢,Vote.value = 中立/未投票。
您的可投票项目的 Controller 可能如下所示:
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
对于每个人的信息,这个问题不应该被否决。它完全有效。
关于ruby-on-rails - "Like", "Dislike" rails 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3703194/