加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 20:29:16 所属栏目:百科 来源:网络整理
导读:有没有任何“喜欢”,“不喜欢”插件的rails … 我经历了评级插件…但他们都是5星评级插件… 解决方法 我建议通过采用经典的投票模式功能来创建喜欢和不喜欢的选项. 所以你有投票作为用户和Votable项目之间的连接表. 投票价值可以作为Vote.value 1 = Like,Vot
有没有任何“喜欢”,“不喜欢”插件的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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读