Я делаю что-то подобное, и нет необходимости создавать целую таблицу для каждого пользователя.Например, у меня есть таблица с именем «user_actions», и в ней есть столбец «user_id».
Отношения:
Пользователь has_many :user_actions
UserAction belongs_to :user
И все готово.Пусть отношения внешнего ключа, возникающие естественным образом, позаботятся о том, чтобы связать конкретное действие с конкретным пользователем.
После этого вам нужно только решить:
- Какие действия вызываютзапись для добавления?
- Как долго вы должны хранить данные (1 неделя, 6 месяцев)?
Например, на моем сайте я веду журнал последних 5вещи, которые пользователь просматривал, и для удобства представляю им этот список в разделе страницы «Недавно просмотренные элементы».
У меня также есть отдельная таблица с именем «admin_actions», которую я использую для ведения журнала безопасности, в которойотслеживать все, что сделано под учетной записью администратора, и какая учетная запись администратора внесла какие изменения.