Rails 3 HABTM加入表重用额外字段

时间:2012-10-18 20:03:00

标签: ruby-on-rails-3 has-and-belongs-to-many

因此,我在学生和课堂之间建立了HABTM关系,使用名为ClassroomStudents的连接表来处理许多教室中的许多学生。

最近出现了一项业务要求,即学生应该可以申请教室的会员资格,所以我想我会创建另一个包含classroom_id和student_id的邀请表,但很快就意识到我的课堂学生表已经处理了这个,所以我只想到了重新使用此表。我在我的classroomstudents表中添加了一个布尔接受的字段,true表示已确认的成员资格,默认为false。

学生可以通过多种方式加入课堂,其中一种方法是我希望在建立关系时自动接受学生。所以使用以下代码:

@classroom << @students

如何为此布尔接受字段指定真值而不是默认值false?

1 个答案:

答案 0 :(得分:1)

您可以将数据库中的默认值设为true。例如,编写一个看起来像这样的迁移

class MakeAcceptedDefaultToTrue < ActiveRecord::Migration
  def change
    change_column :classroom_students, :accepted, :boolean, :default => true, :null => false
  end
end
相关问题