Как получить доступ к paper_trails версии модели

Я строю вики на основе RoR. Мы используем paper_trail gem для управления версиями статьи, но просмотр изменений в статье с течением времени с помощью метода changeset является ужасным опытом для пользователя.

Лучшая идея, которую мы придумали, - это запрос комментария в стиле git-commit-message, прежде чем редактор сможет сохранить изменения. Эти сообщения фиксации будут прикреплены к версии статьи, которая создается при обновлении статьи.

Так как модель Version размещена в геме paper_trail, я не уверен, как связать таблицу Versions с моей новой таблицей commit_messages, а CommitMessage принадлежит_ версии.

1 ответ

Решение

[Я хочу] требовать комментарий в стиле git-commit-message, прежде чем редактор сможет сохранить изменения

Вы можете добавить comment колонка к вашему versions Таблица. PaperTrail называется "Хранение метаданных".

Метаданные от контроллеров

Вы также можете хранить любую информацию, которую вам нравится от вашего контроллера. Переопределить info_for_paper_trail метод в вашем контроллере, чтобы вернуть хеш, ключи которого соответствуют столбцам в вашем versions Таблица.

class ApplicationController
  def info_for_paper_trail
    { :ip => request.remote_ip, :user_agent => request.user_agent }
  end
end

Если это не сработает, readme документирует другие способы хранения метаданных.

Другие вопросы по тегам