Ruby on rails 需要RoR模型关系建议

Ruby on rails 需要RoR模型关系建议,ruby-on-rails,model,foreign-key-relationship,relationship,Ruby On Rails,Model,Foreign Key Relationship,Relationship,我有3个模型类别、问题和测验以及5个表格类别、问题、测验、类别测验和问题测验 测验有许多问题,可能属于零个或多个类别。此外,一个问题可能属于许多测验 有人能建议模型之间的关系应该是怎样的吗 表模式如下 CREATE TABLE categories ( id int(11) unsigned NOT NULL auto_increment, title varchar(255) NOT NULL, PRIMARY KEY (id), ); CREATE TABLE categor

我有3个模型类别、问题和测验以及5个表格类别、问题、测验、类别测验和问题测验

测验有许多问题,可能属于零个或多个类别。此外,一个问题可能属于许多测验

有人能建议模型之间的关系应该是怎样的吗

表模式如下

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
类别
表格类别测验的迁移不正确。它应该是类别测验,都是复数形式

然后您可以指定如下关联:

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
类别
编辑:根据您的评论更改关联