rails里面activerecord的问题。

我有一个学生表students和一个专业表majors
学生表:姓名、身份证、性别、第一志愿、第二志愿
其中第一志愿和第二志愿都来源于majors表的major_id
专业表:专业id和专业名称

问题是如果一个学生就报一个专业。可以是简单的一对多关系。在学生表里有个major_id就可以了。
现在是学生可以报2-3个志愿,这样的话,要怎么设置student和major的关系?
如果是java,我就在students表里加入first_major_id和second_major_id来表示第一和第二志愿,现在rails要如何实现呢?

刚开始看rails,希望熟悉的朋友给介绍下。

用has_and_belongs_to_many怎么样?

http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#method-i-has_and_belongs_to_many

一个中间表,例如:
学生 专业
1 1
1 2
2 1
2 2
... ...