0

そのため、ClassroomStudentsという結合テーブルを使用して、生徒とClassroomの間にHABTM関係があり、多くの教室に属する多くの生徒を処理しています。

最近、生徒が教室のメンバーシップをリクエストできるようにするというビジネス要件が出てきたので、classroom_idとstudent_idを含む別の招待テーブルを作成するだけだと思いましたが、すぐに教室の生徒テーブルがこれを処理していることに気づき、単に再利用することを考えました。このテーブル。ブール値のacceptedフィールドをclassroomstudentsテーブルに追加しました。trueは確認済みのメンバーシップを表し、falseはデフォルトです。

生徒を教室に追加する方法は複数ありますが、そのうちの1つは、関係が構築されたときに自動的に受け入れられるようにすることです。したがって、次のコードを使用します。

@classroom << @students

デフォルトのfalseではなく、このブール受け入れフィールドにtrue値を指定するにはどうすればよいですか?

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 に答える