Combos asociados + Polimorfismo

Muy buenas,

Siempre tenemos que hacer varios combos asociados con Países,
Provincias, Pueblos… y además, en última instancia relacionar este
concepto de dirección a Personas, Empresas, Bares, Obras…
Así que he hecho un plugin (basado en acts_as_commentable) para poder
asociar direcciones a cualquier cosa → acts_as_direccionable

vendor/plugins/acts_as_direccionable/lib/direccion.rb

class Direccion < ActiveRecord::Base
belongs_to :direccionable, :polymorphic => true
belongs_to :pueblo
end

app/models/pueblo.rb
class Pueblo < ActiveRecord::Base
has_many :direccions
belongs_to :provincia
end

app/models/provincia.rb
class Provincia < ActiveRecord::Base
belongs_to :country
has_many :pueblos
end

app/models/country.rb
class Country < ActiveRecord::Base
has_many :provincias
end

app/models/person.rb
class Person < ActiveRecord::Base
acts_as_direccionable
end

Todo funciona bien, con combos asociados (basándome en Railscasts.com
#88 Dynamic Select Menus - RailsCasts )

¿Dónde me encuentro el problema?

<% @person.direccions.each do |direccion|%>

<%= direccion.pueblo.provincia %> <---- AQUI FALLA <%= direccion.pueblo.nombre %> <% end %>

Cuando sobre un usuario quiero mostrar sus direcciones, me funciona la
primera vez. Me dice que el método provincia no existe, pero me lo dice
la segunda vez que ejecuto un show persona.

No lo entiendo. La relación está hecha, la base de datos está
correcta…

¿Sabéis cómo solucionar esto?

Gracias por adelantado!!!