Как лучше всего отслеживать запросчика и получателя запросов на изменения в рельсах? - PullRequest
0 голосов
/ 13 июля 2020

У меня есть таблица Users. Любой пользователь может сделать несколько reservations. Я пытаюсь отслеживать изменения резервирования в таблице reservation_changes. Пользователь может быть requester или requestee для изменений резервирования. Как лучше всего отслеживать их в таблице reservation_changes?

class User < ApplicationRecord
 has_many :reservations
end

class Reservation < ApplicationRecord
 belogs_to :user
 has_many :reservation_changes
end

class ReservationChanges < ApplicationRecord
 belongs_to :reservation
end

Ожидаемый результат:

user = User.last
another_user = User.first

После обновления бронирований с помощью user и запроса изменений. Я хочу записать user как запросивший и another_user как получатель запроса.

user.requester => user.id
user.requestee => another_user.id

1 Ответ

0 голосов
/ 13 июля 2020

При изменении резервирования необходимо сохранить инициатора запроса и получателя запроса, поэтому:

class ReservationChange < ApplicationRecord
  belongs_to :reservation
  belongs_to :requester, class_name: User
  belongs_to :requestee, class_name: User
end

И вам нужно будет добавить столбцы request_id и Requestee_id в таблицу резервирования_changes при миграции.

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