ruby-on-rails – “喜欢”,“不喜欢”插件的rails

有没有任何“喜欢”,“不喜欢”插件的rails …

我经历了评级插件…但他们都是5星评级插件…

解决方法

我建议通过采用经典的投票模式功能来创建喜欢和不喜欢的选项.

所以你有投票作为用户和Votable项目之间的连接表.

投票价值可以作为Vote.value 1 = Like,Vote.value -1 = Dislike,Vote.value = Neutral /没有投票.

您的投票项目的控制器可能如下所示:

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

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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...