URL: https://linuxfr.org/suivi/possibilite-de-plusser-un-commentaire-deja-a-10 Title: Possibilité de plusser un commentaire déjà à +10 Authors: Niniryoku Date: 2012年03月29日T22:23:21+02:00 Tags: Score: 29 Quand on lis un commentaire, et qu'il a plus 10 on ne peut pas le plusser. Ce qui fait que si quelqu'un passe derrière et le moinsse, il redescend à 9. Imaginons le cas suivant : * Un commentaire est à +10 à 13 heures 37 * ProTroll le lis à 13 h 38, il est d'accord, il ne peut pas le plusser. * ConTroll le lis à 13 h 39, il n'est pas d'accord, le moinsse. Le commentaire se retrouve à 9. Alors que dans le cas où on peut quand même le plusser, il resterai à +10. Le principe n'est pas d'avoir des commentaires à +30, mais de garder en mémoire le fait qu'il y ai eu 30 « plussages », tout en laissant affiché « +10 ». Je ne programme pas en RoR du tout. Mais vu que ce n'est pas du Java, j'ai survolé le code, et je pense que l'idée est dedans (il y a peut être d'autres choses à modifier) : ```diff From 681470b76a79a713e0dd73578985a7b3ee5f6c43 Mon Sep 17 00:00:00 2001 From: Niniryoku Date: 2012年3月29日 22:14:22 +0200 Subject: [PATCH] Add ability to upvote +10 and downvote -10 comments --- app/models/comment.rb | 4 ++-- app/views/comments/_comment.html.haml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/models/comment.rb b/app/models/comment.rb index 428e2bd..bd0dd45 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -159,11 +159,11 @@ class Comment < ActiveRecord::Base end def vote_for(account) - vote(account, 1) && Comment.increment_counter(:score, self.id) unless score>= 10 + vote(account, 1) && Comment.increment_counter(:score, self.id) end def vote_against(account) - vote(account, -1) && Comment.decrement_counter(:score, self.id) unless score <= -10 + vote(account, -1) && Comment.decrement_counter(:score, self.id) end def vote(account, value) diff --git a/app/views/comments/_comment.html.haml b/app/views/comments/_comment.html.haml index 8752813..caf7cb0 100644 --- a/app/views/comments/_comment.html.haml +++ b/app/views/comments/_comment.html.haml @@ -8,7 +8,7 @@ - unless defined? hide_content_title En réponse #{translate_to_content_type comment.content_type} #{link_to comment.content.title, path_for_content(comment.content)}. Évalué à - %span.score>= comment.score + %span.score>= max(-10, min(10, comment.score)) \. - if comment.created_at != comment.updated_at %span.update> -- 1.7.6.5 ```

AltStyle によって変換されたページ (->オリジナル) /