Вот что я пытаюсь сделать. У меня есть курсы, на которые студенты записываются. Я хочу отслеживать продвинутых студентов в этом классе. Я установил другую модель под названием 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
В идеале мне нужна небольшая форма, позволяющая выбрать тип обучения (академический, спортивный), который позволит мне добавлять учеников под ним. Каждый студент будет записан в таблицу course_advance_types_students, созданную для ассоциации HABTM.
Примерно так:
<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, но я не знаю, работает ли это, потому что я не хочу устанавливать атрибуты для студентов, я хочу, чтобы идентификатор студента был сохранен в файле course_advance_type_id в таблице course_advance_types_students, чтобы я мог получить отчет Курсы, в которых учащиеся продвигаются вперед с указанием типа продвинутого уровня и списка студентов.
Если мне нужно кое-что прояснить или переосмыслить свой подход, скажите, пожалуйста.
Спасибо.