在mongoid中为has_and_belongs_to_many关系创建一个新表

时间:2017-08-16 06:50:24

标签: ruby-on-rails ruby associations mongoid

我刚开始使用mongoid在rails中编码,之前我在sql,sqlite等编码,现在Iam在关联之间有点混淆。如果你想要以这种方式在两个模型之间进行has_and_belongs_to_many关联,那么

例如

    class Student < ActiveRecord::Base
       has_and_belongs_to_many :subjects 
    end

    class Subject < ActiveRecord::Base
       has_and_belongs_to_many :students
    end

我们创建一个新表

rails g migration CreateJoinTableStudentSubject student subject

在我们的迁移文件中,我们确实喜欢这个

  def change
   create_table :students_subjects do |t|
    t.references :student
    t.references :subject
    t.timestamps
 end

现在我的问题是,当使用mongoid或der是另一种方法来创建一个新表时,这是必要的。这个帮助我很新的mongoid和rails.thank你

1 个答案:

答案 0 :(得分:1)

您只需要在您的类中包含一些代码,如下所示:

class Student
  include Mongoid::Document
  has_and_belongs_to_many :subjects
end

class Subject
  include Mongoid::Document
  has_and_belongs_to_many :students
end

这里有一个很棒的documentation

希望它会对你有所帮助!