paper_trail дает мне ошибки с существующей моделью пользователя - PullRequest
1 голос
/ 17 ноября 2011

Есть ли конфликт при установке модели 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.

Любая помощь будет высоко ценится.

Заранее спасибо

1 Ответ

1 голос
/ 19 ноября 2011

Проблема заключалась в том, что я также добавил has_many :versions в свою модель User, и возник конфликт.

Чтобы избежать конфликта, я следовал тому, что paper_trail упоминает в документации:

has_paper_trail :versions => :paper_trail_versions

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...