paper_trail给出了现有用户模型的错误

时间:2011-11-17 10:50:25

标签: ruby-on-rails-3 paper-trail-gem

User模型设置为paper_trail版本是否存在冲突?我有一个模型'用户'如下:

class User < ActiveRecord::Base
  has_paper_trail

end

问题在于,每当我致电user#versions时,我都会遇到异常:

ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column 'versions.user_id' in 'where clause': SELECT `versions`.* FROM `versions` WHERE (`versions`.user_id = 6)

(使用versionsUser上调用id = 6时抛出异常。

我在尝试保存User时也遇到问题。我得到以下异常:

ActiveRecord::StatementInvalid: Mysql2::Error: Column 'item_id' cannot be null: INSERT INTO `versions` (`event`, `created_at`, `item_id`, `item_type`, `object`, `whodunnit`) VALUES ('update', '2011-11-17 10:38:43', NULL, NULL, '--- ....

似乎save没有填充item_iditem_type

非常感谢任何帮助。

提前致谢

1 个答案:

答案 0 :(得分:1)

问题是我在has_many :versions模型中添加了User并且存在冲突。

为避免冲突,我按照文档中的paper_trail提及:

has_paper_trail :versions => :paper_trail_versions