rails Создание экземпляра модели автоматически при создании другого - PullRequest
2 голосов
/ 14 апреля 2010

Здравствуйте, у меня есть модель пользователя и модель оценки. Каждый раз, когда создается новый пользователь, я хочу автоматически создать новую модель обратной связи.

Каждая модель пользователя имеет одну модель обратной связи, а каждая модель обратной связи имеет много оценок.

Мои классы

class User < ActiveRecord::Base
end

class Feedback < ActiveRecord::Base
   belongs_to :user
   has_many :ratings
end

class Rating < ActiveRecord::Base
    belongs_to :feedback
end

Таблицы моей базы данных

- у пользователя нет ничего особенного
-feedback имеет user_id. Этот user_id должен совпадать с пользователем, который только что был создан. Например, создается user_id, равный 1, затем должна быть создана модель обратной связи, которая принадлежит user_id, равному 1. Таким образом, столбец user_id в базе данных обратной связи также будет равен 1. - Рейтинг имеет feedback_id, а user_id user_id, в данном случае это идентификатор лица, представившего рейтинг. Я получил его через команду сборки.

Я считаю, что мой процесс здесь правильный.

Цель

Цель состоит в том, чтобы у каждого пользователя была таблица отзывов, которая имеет множество оценок от других пользователей. Так что, если кто-то перейдет на страницу обратной связи, он увидит все оценки и кто.

Есть ли лучший способ приблизиться к этому? Как вы создаете модель обратной связи с тем же идентификатором, что и пользователь, создаваемый прямо при создании нового пользователя. Идея состоит в том, что при создании пользователя создается обратная связь, связанная с этим пользователем, чтобы люди могли перейти на

http://localhost:3000/users/1/feedback/ и добавьте новые рейтинги.

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

1 Ответ

3 голосов
/ 14 апреля 2010

Почему бы не использовать after_create callback и создать обратную связь в этом методе?

...