首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >允许用户使用Rails中的thumbs_up gem“切换”up_vote和down_vote

允许用户使用Rails中的thumbs_up gem“切换”up_vote和down_vote
EN

Stack Overflow用户
提问于 2017-07-07 12:42:06
回答 1查看 77关注 0票数 3

我正在使用thumbs_up gem在我的应用程序中允许“赞”。

gem包含以下代码,以确保一个用户不能投票两次-

代码语言:javascript
复制
Code '1'
# Comment out the line below to allow multiple votes per user.
validates_uniqueness_of :voteable_id, :scope => [:voteable_type, :voter_type, :voter_id]

但我希望我的用户能够'up_vote‘一次,然后'down_vote’,如果他们碰巧喜欢错误(为了用户体验)。我尝试将作用域更改为:

代码语言:javascript
复制
validates_uniqueness_of :voteable_id, :scope => [:voteable_type]

但这将允许用户连续两次“up_vote”。相反,只有当可投票对象已经是‘up_down_vote’d时,用户才能‘投票’,反之亦然。

我可以考虑在我的视图中使用条件来实现这一点,如下所示:

代码语言:javascript
复制
<% if !current_user.voted_for?(voteable_name) %>
     <%= link_to('Like', vote_up_question_answer_path(voteable_name), :method => :post) %>
<% else %>
     <br>
     <%= link_to('Unlike', vote_down_question_answer_path(voteable_name), :method => :post) %>
<% end %>

并注释掉代码“1”,但有没有更好的方法让用户只能通过控制器在投票之间“切换”?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-07 21:18:14

应该在应用程序代码中实现翻转,而不是改变库的现有行为。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44962681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档