这是 Twitter 公司基于 Rails ActiveRecord 的声望系统
安装方法:
gem install reputation_system && rails generator reputation_system && rake db:migrate
使用方法:
class User < ActiveRecord::Base has_many :answers has_many :questions has_reputation :karma, :source => [ { :reputation => :questioning_skill, :weight => 0.8 }, { :reputation => :answering_skill }], aggregated_by => :sum has_reputation :questioning_skill, :source => { :reputation => :votes, :of => :questions }, :aggregated_by => :sum has_reputation :answering_skill, :source => { :reputation => :avg_rating, :of => :answers }, :aggregated_by => :sum end class Answer < ActiveRecord::Base belongs_to :user, :as => :author has_reputation :avg_rating, :source => :user, :aggregated_by => :average, :source_of => [{ :reputation => :answering_skill, :of => :author }] end class Question < ActiveRecord::Base belongs_to :user has_reputation :votes, :source => :user, :aggregated_by => :sum end @answer.add_evaluation(:avg_rating, 3, @user) @question.add_evaluation(:votes, 1, @user)
更多介绍请看软件首页
CakePHP seems to get a slightly unfavourable reputation when compared to the likes of Symfony or Zend Framework due to its lack of namespaces and not playing nicely with Composer out of the box. Howev
This article was written about CakePHP 2.x and has been untested with CakePHP 3.x CakePHP seems to get a slightly unfavourable reputation when compared to the likes of Symfony orZend Framework due