2011-06-29 51 views
0

以下是我想要完成的工作。我有学生注册的课程。我想跟踪那个班的高级学生。我建立了另一个名为course_results的模型。为HABTM协会创建表格

class CourseAdvanceType < ActiveRecord::Base 
    belongs_to :course 
    has_and_belongs_to_many :students 
end 

####### 
class Students < ActiveRecord::Base 
    has_many :courses 
    has_and_belongs_to_many :course_advance_types 
end 

####### 
class Courses < ActiveRecord::Base 
    has_one :course_advance_type 
    has_many :students 
end 

理想我想一个小表单,允许选择提前类型(学术,体育),这将让我在它下面添加学生。每个学生都将记录在为HABTM协会创建的course_advance_types_students表中。

事情是这样的:

<form> 
    <select> 
    <option>academic</option> 
    <option>athletic</option> 
    </select> 
    <div id="students"> 
    <div>Student ID: <input type="text" /></div> 
    <div>Student ID: <input type="text" /></div> 
    <!-- This link would dynamically add another name field --> 
    <div><a href="[code]">Add Student</a></div> 
    </div> 
    <input type="submit> 
</form> 

什么是实现这一目标的最佳方式是什么?我考虑过使用acceptable_nested_attributes_for,但我不知道这是否可行,因为我不想为学生设置属性,我希望将学生ID与course_advance_types_students表中的course_advance_type_id一起保存,以便我可以将提前预定学生名单的学生的课程。

如果我需要澄清某些事情或重新思考我的方法,请告诉我。

谢谢。

回答