0

Ich habe 3 Modelle Kategorie, Frage und Quiz und 5 Tabellen Kategorien, Fragen, Quiz, Kategorie_Quiz und Fragen_Quiz.RoR Modell Beziehungsvorschlag benötigt

Ein Quiz hat viele Fragen und kann zu null oder mehr Kategorien gehören. Auch eine Frage kann, gehört zu vielen Quiz

Können einig Körper vorschlagen, wie die Beziehung

Tabellenschema zwischen den Modellen sein sollte folgt

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), 
); 

Meine aktuellen Modellklassen

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 

Antwort

0

Die Die Migration für die Tabelle category_quizzes ist nicht korrekt. Es sollte categories_quizzes sein, beides in Pluralform.

Dann könnten Sie die Assoziationen wie folgt angeben:

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: Changed die Verbände nach Ihren Kommentar

+0

Eigentlich eine Frage in vielen Quizzes –

+0

Ordnung erscheinen, bearbeitet meine Antwort. – DanneManne