I am having problems with my ruby on rails app. I have two models - 'patient' and 'address', a patient has one address, and an address belongs to a patient.

Patient.rb

class Patient < ActiveRecord::Base
  has_many :charge_slips
  has_one :address

  validates_presence_of :last_name
  validates_presence_of :first_name
  validates_presence_of :middle_name

end

Address.rb

class Address < ActiveRecord::Base
  belongs_to :patient
  validates_associated :patient
end

Patient-controller.rb

class PatientController < ApplicationController
  def index
    @title = "Outpatient Services - Patient"
    @today = Date.today.to_formatted_s(:long)
    @patients = Patient.find(:all)
  end

  def new
    @patient = Patient.new
    @address = Address.new
  end

  def create
    @patient = Patient.new(params[:patient])
    @patient.created_on = Date.today.to_formatted_s(:long)

    if @patient.save
      @address = Address.new(params[:address])
      @address.patient_id = @patient.id
      if @address.save
        redirect_to :action => 'index'
      else
        redirect_to :action => 'new'
      end
      redirect_to :action => 'index'
    else
      redirect_to :action => 'new'
    end
  end
end

new.html.rb

<%= content_tag('h3', 'Create New Patient') %>
<hr>
<% form_for @patient, :url => { :action => "create" } do |patient_form| -%>
    <%= error_messages_for :patient %>
    <%= patient_form.label :last_name, 'Last Name:' %> <%= patient_form.text_field :last_name, :size => 30 %><br>
    <%= patient_form.label :first_name, 'First Name:' %> <%= patient_form.text_field :first_name, :size => 30 %><br>
    <%= patient_form.label :middle_name, 'Middle Name:' %> <%= patient_form.text_field :middle_name, :size => 30 %><br>

    <fieldset>
        &
Edit
Report