开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
Active Record Reputation System首页、文档和下载 - 其他开发相关 - 开源中国社区
全部项目分类
我要评价
Apache
Ruby
跨平台
Twitter
分享
收藏
16 人收藏
收录时间:2012-05-18
Active Record Reputation System 详细介绍

这是 Twitter 公司基于 Rails ActiveRecord 的声望系统

Alt text

安装方法:

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)

更多介绍请看软件首页


大家对 Active Record Reputation System 的评论 (全部 0 条评论)
{{repayCom.userName}}
顶部