私たちは、Railsアプリケーションで、ユーザーが投稿をTrueまたはFalseとして評価できるようにするシステムを実装したいと考えています。ユーザーがTrueをクリックすると、その投稿のTrueカウントに1つの投票が追加されます。このシステムを設定して、ユーザーが既にTrueをクリックしていて、Falseに切り替える場合は、Falseをクリックして、その投票をクライアント側のFalse列数に転送するようにします。投稿の評価システムが真または偽
このような実装をどうすればよいですか?
我々は現在、
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
micropost.rb
でこれを持っているが、ここで私はあなたが正しい考えを持っていると思う私たちの現在のrating.rbclass 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
私は、AJAXスタイルの実装をより多くしようとしていたと思います。 Falseをクリックするとユーザーの評価が偽に設定されますが、クリックするとTrueに変わります。問題はシンプルに見えますが、実際には非常に複雑なので、説明するのはほとんど不可能です。 –