【问题标题】:ActiveRecord Reputation System breaks other modelsActiveRecord 信誉系统打破了其他模型
【发布时间】:2023-03-03 12:06:01
【问题描述】:

我有一个问答模型,我正在尝试为其添加一个功能,允许用户对问题进行评分。

我决定与ActiveRecord Reputation System 合作,因为它完全符合我的需要并且很容易实现。我对 ruby​​ 和 rails 开发还很陌生。

我意识到,只要将 gem 添加到我的 gemfile ( gem 'activerecord-reputation-system' ) 然后运行 ​​bundle install ,我的所有其他模型都会中断(无法创建新记录或更新它们)。

起初我认为这可能是 ActiveRecord 信誉系统的错误或冲突的 gem,但后来我也意识到我在数据库中创建的所有记录都没有自动获得 created_at 或 updated_at 值。即使我使用脚手架创建模型,它们仍然设置为零。这让我认为这可能是 ActiveRecord 信誉系统 gem 破坏模型功能的原因。它可能严重依赖 created_at 和 updated_at 值。我的其他模型并没有因为缺乏这些信息而受到太大影响。

我研究了一下,发现 created_at 和 updated_at 设置为 nil 发生在在他们的 application.rb 中设置 config.active_record.default_timezone 的人身上

我在 application.rb 中注释掉了这两行,看看它是否会修复它:

config.time_zone = 'Eastern Time (US & Canada)'
config.active_record.default_timezone = 'Eastern Time (US & Canada)'

然后我将 gem 重新添加到我的 gemfile 中,但同样的事情再次发生。

换句话说,我不确定是否必须解决记录没有自动生成 created_at 和 updated_at 值这一事实,或者这可能是 ActiveRecord 信誉系统出现的完全不同的问题。

提前感谢您的帮助!

【问题讨论】:

    标签: ruby-on-rails activerecord ruby-on-rails-4


    【解决方案1】:

    这是 ActiveRecord 信誉系统中的一个错误,已在 3.0.1(2014 年 11 月 27 日)中修复。更新您的宝石。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-24
      • 1970-01-01
      • 2016-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多