У меня есть 3 категории моделей, вопросы и викторины и 5 категорий таблиц, вопросы, викторины, category_quizzes и questions_quizzes.
Викторина имеет много вопросов и может принадлежать к нулю или более категориям.Также вопрос может относиться ко многим опросам
Может ли какой-то орган подсказать, каким должно быть соотношение между моделями
Схема таблицы следует
CREATE TABLE categories (
id int(11) unsigned NOT NULL auto_increment,
title varchar(255) NOT NULL,
PRIMARY KEY (id),
);
CREATE TABLE category_quizzes (
id int(11) unsigned NOT NULL auto_increment,
category_id int(11) unsigned NOT NULL,
quiz_id int(11) unsigned NOT NULL,
PRIMARY KEY (id),
KEY category_id (category_id,quiz_id),
KEY quiz_id (quiz_id)
);
CREATE TABLE questions (
id int(11) unsigned NOT NULL auto_increment,
question varchar(255) NOT NULL,
answer varchar(255) NOT NULL,
PRIMARY KEY (id),
);
CREATE TABLE questions_quizzes (
id int(11) unsigned NOT NULL auto_increment,
quiz_id int(11) unsigned NOT NULL,
question_id int(11) unsigned NOT NULL,
PRIMARY KEY (id),
KEY quiz_id (quiz_id,question_id),
KEY question_id (question_id)
);
CREATE TABLE quizzes (
id int(11) unsigned NOT NULL auto_increment,
title varchar(255) NOT NULL,
PRIMARY KEY (id),
);
Мои текущие классы моделей
class Category < ActiveRecord::Base
has_and_belongs_to_many :quiz
end
class Question < ActiveRecord::Base
has_and_belongs_to_many :quiz
end
class Quiz < ActiveRecord::Base
has_many :questions
has_and_belongs_to_many :categories
end