Has_one with :source_type

I am trying to extend the classic example

class Magazine < ActiveRecord::Base
       has_many :subscriptions

       has_many :rental_events ,
            :through => : subscriptions,
            :source => :redaer,
            :source_type => 'Business'

      has_many :closing_events ,
            :through => : subscriptions,
            :source => :reader,
            :source_type => 'Person'
end

class Subscription < ActiveRecord::Base
  belongs_to :magazine
  belongs_to :reader, :polymorphic => true
end

class Business < ActiveRecord::Base
    has_many : subscriptions, :as => :reader
    has_one :magazine, :through => :subcription <---- that's what I
want , only 1 magazine....
  end

class Person < ActiveRecord::Base
    has_many : subscriptions, :as => :reader
    has_one :magazine, :through => :subcription <---- that's what I
want , only 1 magazine....
end

I can easily get Person.first.subscriptions, but I cannot get
Person.first.magazine or Business.first.magazine

what's wrong ? , thanks for your lights ..

erwin