这是我想要实现的目标。我有学生注册的课程。我想跟踪那个班的高年级学生。我设置了另一个名为course_results的模型。
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>实现这一目标的最佳方法是什么?我考虑过使用accepts_nested_attributes_for,但我不知道这是否可行,因为我不想为学生设置属性,我希望将学生ID与course_advance_types_students表中的course_advance_type_id一起保存,这样我就可以拉出具有高级学生的课程报告以及高级类型和学生列表。
如果我需要澄清一些事情或重新考虑我的方法,请告诉我。
谢谢。
发布于 2011-06-29 23:56:08
查看formtastic:https://github.com/justinfrench/formtastic
将表单放在一起形成habtm/habtm关系要容易得多。
https://stackoverflow.com/questions/6523001
复制相似问题