class ClassroomsController < ApplicationController
def new
create_new
end
def new
create_new
end
protected
def create_new
@classroom = Classroom.new
@teacher = Teacher.new
@location = Location.new
@classroom.teacher = @teacher
@classroom.location = @location
if request.get?
render :template => 'classrooms/new'
return
end
transaction do
@classroom = Classroom.create(params[:classroom])
@location = Location.create(params[:location])
begin
@teacher = User.find(params[:teacher][:id])
rescue Object => e
@teacher = Teacher.new
@teacher.errors.add 'id', 'No teacher specified'
end
records = [@classroom, @location, @teacher]
unless records.all?{|record| record.errors.empty?}
@classroom.destroy rescue nil
@location.destroy rescue nil
render :template => 'classrooms/new'
return
else
@classroom.teacher = @teacher
@classroom.location = @location
end
end
redirect_to classrooms_path
end
end