2つのモデルを同時にsaveする時のテンプレ
class RecordInvalid < Exception; end def create @user = User.new(params[:user]) @profile = Profile.new(params[:profile]) User.transaction do if @user.valid? & @profile.valid? @user.save @profile.save respond_to do |format| format.html { redirect_to user_path(@user) } end else raise RecordInvalid.new end end rescue RecordInvalid respond_to do |format| format.html { render :action => "new" } end end
みたいな。