0

我一直在使用一种标准技术来创建/更新关联has_many, through:模型,方法是创建复选框并将 HTML 元素名称指定为 id 的集合。考虑:

<% 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>

为了支持这一点,该Student模型具有以下功能:

attr_accessible :course_ids, ...
has_many :student_courses, dependent: :destroy
has_many :courses, through: :student_courses

我对此没有任何问题,它工作得很好,因为关联的模型StudentCourses, 被创建或删除。

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

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

谢谢

4

0 回答 0