GeoEntity.last
SELECT geo_entities.* FROM geo_entities ORDER BY geo_entities.id DESC LIMIT 1
returns:
County id: 4, eid: nil, pid: nil, ename: nil, etype: 2, created_at: "2011-11-21 06:26:37", updated_at: "2011-11-21 06:26:37"
class City < GeoEntity | |
end |
class County < GeoEntity | |
end |
class GeoEntity < ActiveRecord::Base | |
set_inheritance_column :etype | |
ENTITIES = { | |
1 => GeoEntity::State, | |
2 => GeoEntity::County, | |
3 => GeoEntity::City, | |
4 => GeoEntity::Zip | |
} | |
class << self | |
def find_sti_class(type_name) | |
ENTITIES[type_name.to_i] or super | |
end | |
def sti_name | |
ENTITIES.invert[self] | |
end | |
end | |
end |
class State < GeoEntity | |
end |
class Zip < GeoEntity | |
end |
There was an issue, if you want build a entity in one to many reference like
RuntimeError (Circular dependency detected while autoloading constant GeoEntity):
Do you have a solution?