rails的“喜欢”,“不喜欢”插件

铁路有任何“喜欢”,“不喜欢”的插件……

我通过评级插件…但他们都是5星评级插件…

我建议通过采用经典投票模型function来创建likedislike选项。

因此,您可以选择Vote作为User和可Votable Item之间的Votable Item表。

Vote值可以作为Vote.value + 1 = Like,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 

对于每个人的信息,这个问题不值得投票。 它完全有效。

我知道答案已被接受,但我刚刚发现了一个名为act_as_votable的gem,可能符合您的需求:

Acts As Votable是专门为Rails / ActiveRecord模型编写的Ruby Gem。 这个gem的主要目标是:

  • 允许任何模型投票,如/不喜欢,upvote / downvote等。
  • 允许任何模型投票。 换句话说,投票不一定来自用户,他们可以来自任何模型(例如团队或团队)。
  • 提供易于编写/读取的语法。

我认为这个问题没有错。

上调投票仍在评级中。 只使用两颗星。 :)我似乎记得acts_as_rateable允许明星定义的数量。

为什么不创建一个名为like的新布尔字段? 然后将其更新为false不喜欢true喜欢 。 我怀疑你找到了这个function的插件/ gem。