В PaperTrail, как записать комментарий для каждой версии?

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

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

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


person user2799827    schedule 23.03.2016    source источник


Ответы (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 описаны другие способы хранения метаданных.

person Jared Beck    schedule 12.04.2016
comment
Это сработало. Большое спасибо, что указали мне на решение. В следующий раз я буду более внимательно читать документы по драгоценным камням! - person user2799827; 17.05.2016