将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)
(使用versions
在User
上调用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_id
和item_type
。
非常感谢任何帮助。
提前致谢
答案 0 :(得分:1)
问题是我在has_many :versions
模型中添加了User
并且存在冲突。
为避免冲突,我按照文档中的paper_trail
提及:
has_paper_trail :versions => :paper_trail_versions