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

前端之家收集整理的这篇文章主要介绍了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

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

猜你在找的Ruby相关文章