0

У меня есть 3 категории категорий, вопросов и викторины и 5 категорий таблиц, вопросы, викторины, category_quizzes и questions_quizzes.Требуется предложение о соотношении RoR модели

В опросе много вопросов и может принадлежать нулевой или нескольким категориям. Также может вопрос относится ко многим викторинах

Может некоторые тела подсказывают, как должны быть отношения между моделями

схемы таблиц следует

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 

ответ

0

миграция для таблицы category_quizes неверна. Это должны быть категории_quizzes, как во множественном числе.

Тогда можно указать ассоциации, как это:

class Category < ActiveRecord::Base 
    has_and_belongs_to_many :quizzes 
end 

class Question < ActiveRecord::Base 
    has_and_belongs_to_many :quizzes 
end 

class Quiz < ActiveRecord::Base 
    has_and_belongs_to_many :questions 
    has_and_belongs_to_many :categories 
end 

Edit: Изменены ассоциации в соответствии с вашим комментарием

+0

На самом деле вопрос может появиться во многих Quizzes – 2010-11-23 09:02:28

Смежные вопросы