大学の登録システムを作成しています。
2 つのモデルがあります。1 つはRegister
で、もう 1 つはStudent
です。ARegister
には多くのStudents
があり、それぞれの.rb
ファイルに次のように記述しました。
class Student < ActiveRecord::Base
belongs_to :register
attr_accessible :first_name, :last_name, :university_id
class Register < ActiveRecord::Base
belongs_to :student
belongs_to :module_class
belongs_to :event
has_many :students
attr_accessible :date, :present, :time_of_arrival, :student_id, :module_class_id, :event_id
schema.rb
ファイルから、テーブルは次のようになります。
create_table "registers", :force => true do |t|
t.integer "student_id"
t.boolean "present"
t.integer "module_class_id"
t.integer "event_id"
t.time "time_of_arrival"
t.date "date"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
add_index "registers", ["event_id"], :name => "index_registers_on_event_id"
add_index "registers", ["module_class_id"], :name => "index_registers_on_module_class_id"
add_index "registers", ["student_id"], :name => "index_registers_on_student_id"
私の質問は、レジスタ内の学生のリストを表示して、出席または欠席をマークできるようにしたいということです(register/1
たとえば)。現在の様子はこんな感じです。
ただし、現時点では、1 つの学生しかレジスタに割り当てることができず、Present
チェックボックスが表示されます (これはregister/new
ページ内にあります) 。
インデックス自体は次のregister
ようになります。
simple_form
より多くの手がかりが得られる場合に備えて、フォームにgemを使用しています。
編集:依存関係を示すためにRubyMineから図を追加しました: