Nous souhaitons implémenter un système dans notre application Rails qui permet aux utilisateurs d'évaluer les messages comme Vrai ou Faux. Lorsque l'utilisateur clique sur True, cela ajoutera un vote au nombre réel pour ce message. Nous voulons configurer ce système de sorte que si un utilisateur a déjà cliqué sur True, mais veut passer à False, il peut cliquer sur False, et ce vote sera transféré sur le nombre de colonnes False, immédiatement du côté client.Système d'évaluation des messages True ou False
Comment devrions-nous mettre en œuvre quelque chose comme ça?
nous avons cela dans micropost.rb
belongs_to :user
belongs_to :target_user, :class_name=>"User", :foreign_key=>"belongs_to_id"
has_many :ratings
def rateable_by_user?(user)
self.ratings.where(:rater_id=>user.id).empty?
end
voici notre rating.rb actuelle
class Rating < ActiveRecord::Base
attr_accessible :micropost_id, :owner_id, :rater_id, :rating
belongs_to :micropost
belongs_to :target_user, :class_name=>"User", :foreign_key=>"owner_id"
belongs_to :user, :class_name=>"User", :foreign_key=>"rater_id"
scope :trues, where("rating = ?", "true")
scope :falses, where("rating = ?", "false")
end
Je pense essayaient d'obtenir plus à une implémentation de style AJAX. Où, en cliquant sur False, l'évaluation de l'utilisateur est fausse, mais si vous cliquez sur True, vous la définissez simplement sur True. C'est presque difficile pour nous d'expliquer parce que le problème semble simple mais est vraiment très complexe. –