Activerecord - как это сделать?

0

Каждый день мне нужно запустить сценарий и отправить всем моим пользователям "экзамен" или набор вопросов. Я смоделировал в качестве класса "Экзамен", который подклассифицирует ActiveRecord :: Base. Теперь, как отправить пользовательские экземпляры экзамена?

То, о чем я думал, это создать новый класс под названием "ExamInstance", который будет иметь ссылку на "Экзамен" и пользователя.

Я новичок в SQL и ActiveRecord, поэтому, если кто-то может помочь мне лучше моделировать это, чтобы я мог избежать проблем позже или просто дать мне некоторое представление, это было бы здорово.

благодаря

Теги:
activerecord

3 ответа

0
Лучший ответ

Я предлагаю просто использовать has_many :through создать модель UserExam для многих-многих отношений между exam и user

class User < ActiveRecord::Base
  has_many :users_exams
  has_many :exams, :through => :users_exams
end
 
class UserExam < ActiveRecord::Base
  belongs_to :users
  belongs_to :exams
end
 
class Exam < ActiveRecord::Base
  has_many :users_exams
  has_many :users, :through => :users_exams
end

Для получения дополнительной информации о has_many :through

0

Вы можете создать свою новую модель следующим образом.

  class ExamUser < ActiveRecord::Base
   belongs_to :user  # user has many exams
   belongs_to :exam  #  exam has many users
  end
0

Добавьте модель "ExamUser", чтобы отслеживать экзамен и соответствующие ссылки пользователей. Скелет модели будет выглядеть примерно так:


class ExamUser < ActiveRecord::Base
  belongs_to :exam
  belongs_to :user
end

Затем вы можете просмотреть записи этой таблицы, чтобы отправить свои вопросы.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню