Ruby on rails 3 Rails如何通过其他模型ID更新相关模型?

Ruby on rails 3 Rails如何通过其他模型ID更新相关模型?,ruby-on-rails-3,activerecord,Ruby On Rails 3,Activerecord,通过创建复选框并将HTML元素名称指定为ID集合,我一直在使用标准技术之一创建/更新相关的has\u many,通过:模型。考虑: <% Course.all.each do |course| %> <label class="checkbox"> <%= check_box_tag 'student[course_ids][]', course.id, @student.course_ids.include?(course.id) %>

通过创建复选框并将HTML元素名称指定为ID集合,我一直在使用标准技术之一创建/更新相关的
has\u many,通过:
模型。考虑:

<% Course.all.each do |course| %>
  <label class="checkbox">
    <%= check_box_tag 'student[course_ids][]', course.id, @student.course_ids.include?(course.id) %>
    <%= course.name %>
  </label>
我对此没有问题,它工作得很好,因为相关的模型,
StudentCourses
,被创建或删除

我的问题是,在我提交表单后,Rails如何创建/删除表单?我查看了开发日志,看到了Delete或Insert语句,但没有看到Rails使用的“魔力”。更具体地说,Rails如何使用
课程ID
参数

我查看了控制台中生成的代码(
rails c
),但它们与开发日志类似


谢谢

我相信Rails设置相关模型的方式与调用
student.course_id=[1,2,3]
时相同,就像其他参数一样。这个方法是由
has\u many:through
关联生成的,但它的实际代码隐藏在ARel或ActiveRecord中。@TheWalrus先生是的,谢谢。您将如何“手动”执行此操作?
@student.course\u id=params[:student][:course\u id]
studentscocontroller\update
中?不知道我是否明白你想做什么。
attr_accessible :course_ids, ...
has_many :student_courses, dependent: :destroy
has_many :courses, through: :student_courses