0

所以我的学生和教室之间有一个 HABTM 关系,使用一个名为 ClassroomStudents 的连接表来处理属于许多教室的许多学生。

最近出现了一个业务需求,即学生应该能够请求教室的成员资格,所以我想我会创建另一个包含教室 ID 和学生 ID 的邀请表,但很快意识到我的教室学生表已经处理了这个,所以我想简单地重新使用这张桌子。我在课堂学生表中添加了一个布尔接受字段,true 表示已确认的成员资格,而 false 是默认值。

可以通过多种方式将学生添加到课堂,其中一种我希望在建立关系时自动接受他们。因此,使用以下代码:

@classroom << @students

我怎样才能为这个布尔接受字段指定一个真值而不是默认的假?

4

1 回答 1

1

您可以将数据库中的默认值设为true. 例如,编写一个如下所示的迁移

class MakeAcceptedDefaultToTrue < ActiveRecord::Migration
  def change
    change_column :classroom_students, :accepted, :boolean, :default => true, :null => false
  end
end
于 2012-10-18T20:10:23.307 回答