activerecord信誉系统gem阻止保存新对象

activerecord信誉系统gem阻止保存新对象,activerecord,Activerecord,我正在跟踪railscast添加一个活动记录声誉系统。()我有一件模型衬衫,我希望用户能够投票。我用以下内容更新了我的文件: gem 'activerecord-reputation-system', require: 'reputation_system' 我运行了一个bundle安装并重新启动了服务器。现在,当我尝试创建一件新衬衫时,我收到一个通知,即即使我输入了一个名称,衬衫仍缺少一个名称,并且我无法创建一件新衬衫。一旦我移除gem并运行bundle安装,一切都会恢复正常,我就能够毫无问

我正在跟踪railscast添加一个活动记录声誉系统。()我有一件模型衬衫,我希望用户能够投票。我用以下内容更新了我的文件:

gem 'activerecord-reputation-system', require: 'reputation_system'
我运行了一个bundle安装并重新启动了服务器。现在,当我尝试创建一件新衬衫时,我收到一个通知,即即使我输入了一个名称,衬衫仍缺少一个名称,并且我无法创建一件新衬衫。一旦我移除gem并运行bundle安装,一切都会恢复正常,我就能够毫无问题地创建一件衬衫。知道这是怎么回事吗

以下是日志:

Started POST "/shirts" for 127.0.0.1 at 2014-11-06 11:59:18 -0500
Processing by ShirtsController#create as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"eiVOinXgtMUoPGwI5IK3n4GFGWv/0xA8ZdD6b6Pvgko=", "shirt"=>{"name"=>"asfas", "category"=>"Startup", "description"=>"", "url"=>"", "approved"=>"0"}, "commit"=>"Submit Changes"}
WARNING: Can't mass-assign protected attributes for Shirt: name, category, url, approved, description
    app/controllers/shirts_controller.rb:11:in `create'
   (0.2ms)  begin transaction
   (0.1ms)  rollback transaction
  Rendered admins/new_shirt.html.erb within layouts/application (5.6ms)
  User Load (0.3ms)  SELECT  "users".* FROM "users"  WHERE "users"."id" = 3 LIMIT 1
Completed 200 OK in 318ms (Views: 232.8ms | ActiveRecord: 1.2ms)


Started GET "/assets/sessions.css?body=1" for 127.0.0.1 at 2014-11-06 11:59:18 -0500


Started GET "/assets/shirts.css?body=1" for 127.0.0.1 at 2014-11-06 11:59:18 -0500


Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2014-11-06 11:59:18 -0500


Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2014-11-06 11:59:18 -0500


Started GET "/assets/custom.css?body=1" for 127.0.0.1 at 2014-11-06 11:59:18 -0500


Started GET "/assets/users.css?body=1" for 127.0.0.1 at 2014-11-06 11:59:18 -0500


Started GET "/assets/bootstrap.js?body=1" for 127.0.0.1 at 2014-11-06 11:59:18 -0500


Started GET "/assets/turbolinks.js?body=1" for 127.0.0.1 at 2014-11-06 11:59:18 -0500


Started GET "/assets/sessions.js?body=1" for 127.0.0.1 at 2014-11-06 11:59:18 -0500


Started GET "/assets/shirts.js?body=1" for 127.0.0.1 at 2014-11-06 11:59:18 -0500


Started GET "/assets/users.js?body=1" for 127.0.0.1 at 2014-11-06 11:59:18 -0500


Started GET "/assets/admins.js?body=1" for 127.0.0.1 at 2014-11-06 11:59:18 -0500


Started GET "/assets/admins.css?body=1" for 127.0.0.1 at 2014-11-06 11:59:18 -0500


Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2014-11-06 11:59:18 -0500


Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2014-11-06 11:59:18 -0500 

使用以下gem解决了这个问题

gem 'activerecord-reputation-system', github: 'NARKOZ/activerecord-reputation-system', branch: 'rails4'

由于3.0版activerecord信誉系统支持Rails 4,并且该漏洞已在3.0.1版中修复,因此建议使用原始的
activerecord信誉系统
,因为它现在支持Rails 4,并且该漏洞已修复。