1
我們希望在我們的Rails應用中實現一個系統,允許用戶對帖子評價爲True或False。用戶點擊True時,會爲該帖子的True計數添加一個投票。我們希望設置該系統,以便如果用戶已經點擊True,但想要切換到False,他們可以單擊False,然後該投票立即轉移到客戶端的False列計數。真假錯誤評級系統
我們應該如何去實施這樣的事情?
我們目前這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
這裏是我們目前rating.rb
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
我認爲正試圖獲得更多AJAX風格的實現。只要點擊False就會將用戶的評分設置爲false,但點擊True時只需將其切換爲True即可。我們幾乎很難解釋,因爲問題看起來很簡單,但實際上非常複雜。 – 2012-03-26 04:21:39