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!!!