【问题标题】:ActiveRecord Reputation SystemActiveRecord 信誉系统
【发布时间】:2016-09-15 04:43:13
【问题描述】:

我目前正在使用https://github.com/twitter/activerecord-reputation-system 3.0.1 版,其中源只能评估一次。当我查看代码时,会有这样的唯一验证

同一来源不能多次评估同一目标。

validates_uniqueness_of :source_id, 
                        :scope => [:reputation_name, :source_type, :target_id, :target_type]

但在我的应用程序中,来源可能会根据使用服务的日期多次评估目标。前任。 顾客每次用餐都可以点评同一家餐厅。

您建议如何自定义 gem 以支持此逻辑?

【问题讨论】:

    标签: ruby-on-rails ruby activerecord


    【解决方案1】:
    • 移除 gem,自己编写功能
    • 分叉,进行更改
      • 创建一个Pull Request,等待合并发布,使用新版本
      • 以新名称发布
    • 通过猴子补丁删除验证和所有其他必需的更改
    • 创建一个问题并希望其他人解决它或者您收到维护者的反馈

    现在代码已经 2 年没有更新了。从 2012 年到 2016 年有 22 个未解决的问题。这意味着它按预期工作或已被放弃。

    您处于可以看到“免费成本”的情况。您添加到代码库中的每个库都有相关的成本。即使它是免费的。

    我自己会自己编写功能。但我不知道你的应用有多复杂。

    【讨论】:

    • 虽然它相当复杂。例如,客户可以随时根据“服务”、“员工”、“食物”、“卫生”等维度对餐厅进行评价。客户每次完成用餐后都可以查看餐厅......我正在分叉宝石并删除唯一验证以查看它是如何工作的。还是谢谢。
    • 如前所述:我不知道您从 gem 中使用了什么功能。 gem 本身当然更复杂,因为它灵活且可配置。
    • 我的解决方案是我分叉并删除了验证和固定规范......现在它适用于我的项目。你可以看看github.com/meassinal/activerecord-reputation-system
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-24
    • 2023-03-03
    • 1970-01-01
    • 2016-08-02
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    相关资源
    最近更新 更多