ActiveRecord信誉系统打破了其他模型

时间:2014-11-08 23:06:53

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

我有一个问答模型,我试图添加一项功能,允许用户对问题进行评分或降低。

我决定使用ActiveRecord Reputation System,因为它完全符合我的需要并且非常容易实现。我对ruby和rails开发很新。

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

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

我研究了一下,发现created_at和updated_at设置为nil发生在应用程序中设置config.active_record.default_timezone的人.rb

我在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完全不同的问题声誉系统。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

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